我有一组 C# 类,每个类都有一个或两个 ulong 成员。Powershell 默认将这些输出为 10 基数,但我想将它们显示为带有 0x 前缀的十六进制数字。我试图弄清楚如何使用 .ps1xml 文件来做到这一点。
我尝试的第一件事是添加一个 types.ps1xml 文件,该文件添加一个与我要替换的同名的脚本属性。如果我给它一个不同的名称(即添加一个新成员),但如果我使用与现有名称相同的名称,则会使 ISE 崩溃,如下所示:
<Members>
<ScriptProperty>
<Name>ForeignId</Name>
<GetScriptBlock>'0x{0:x16}' -f $this.ForeignId</GetScriptBlock>
</ScriptProperty>
</Members>
我认为这是一个无限递归问题。
也许我真正想做的是改变格式!所以我开始考虑制作一个 format.ps1xml 并使用<FormatString>
,但现在看来我需要完全定义格式。我必须指定我想要的每个成员,并且我必须为我可能想要的所有视图执行此操作。嗯,这是很多工作..
我只想更改单个成员的格式而不添加新成员。那可能吗?