gpt4 book ai didi

powershell - 如何创建只读属性

转载 作者:行者123 更新时间:2023-12-02 23:05:25 24 4
gpt4 key购买 nike

当我运行这段代码时,它导致 $o 有一个没有值的 Name 属性,即使我将“MyObj”作为名称传递也是如此。我做错了什么?

感谢您的帮助。

function CreateSomething {
param( [string] $name )

$o = new-object PSObject
write-host '$name:' $name
$o | add-member -name Name -passThru -force -memberType ScriptProperty -value { $name }
$o
}

$o = CreateSomething -name MyObj
$o

最佳答案

你想在这里实现什么?

-value { $name } 将是用于 ScriptProperty 的脚本 block ,它不知道 $name(它不在范围内)

你可以这样做:

$o | add-member -name Name -passThru -force -memberType ScriptProperty -value { $name }.GetNewClosure()

我不明白你为什么不能这样做:

$o | add-member -name Name -passThru -force -memberType NoteProperty -value $name

注意:由于您在上述语句中使用了 -passThru,因此您可以在函数的最后一行省略单独的 $o

关于powershell - 如何创建只读属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11616567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com