批处理之家's Archiver

5i365 发表于 2022-4-28 17:20

把C#代码转成PS代码来查看安装的字体

[i=s] 本帖最后由 5i365 于 2022-4-28 17:21 编辑 [/i]

[size=4]看到一段C#代码, 可以查看系统安装的字体[/size]

[color=#333333][font="][size=16px]var fs=System.Drawing.FontFamily.Families;
[/size][/font][/color][color=#333333][font="][size=16px]foreach(var f in fs)
[/size][/font][/color][color=#333333][font="][size=16px]{
[/size][/font][/color][color=#333333][font="][size=16px]listBox1.Items.Add(f.Name);
[/size][/font][/color][color=#333333][font="][size=16px]}[/size][/font][/color]


[color=#333333][font="][size=16px]我尝试改为PS代码,但是报错, 求高手指引, 提前感谢![/size][/font][/color]


[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]Add-Type -AssemblyName System.Drawing[/size][/color][/font]
[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]$fs = New-Object 'System.Drawing.FontFamily.Families'[/size][/color][/font]
[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]$a = @()[/size][/color][/font]
[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]foreach ($f in $fs)[/size][/color][/font]
[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]{[/size][/color][/font][font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]
$a += $f.Name[/size][/color][/font]
[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]}[/size][/color][/font]
[font=PingFang SC, Lantinghei SC, Microsoft YaHei, arial, 宋体, sans-serif, tahoma][color=#333333][size=16px]$a[/size][/color][/font]

idwma 发表于 2022-4-28 21:31

net有的能用新对象的方式有的不能,困惑不知道是以什么区分的[code]Add-Type -AssemblyName System.Drawing
[System.Drawing.FontFamily]::Families[/code]

went 发表于 2022-4-28 22:03

Families是FontFamily类的一个静态成员变量
C#直接用类名调用  System.Drawing.FontFamily.Families
powershell用静态成员运算符::   [System.Drawing.FontFamily]::Families
这是个变量,New-Object适用于类

5i365 发表于 2022-4-28 23:26

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=255153&ptid=62558]4#[/url] [i]went[/i] [/b]


[size=4]   多谢指引, [/size][size=4]
[/size]
[size=4]感觉PS太强大了,用 idwma大侠的两行代码就全显示出来了, C#要N多行,绕了好几道弯子,看着都晕 [/size]:lol

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.