此问题在此处已有答案:
Powershell: reference an object property in another object property from within the same object?(2个答案)
17天前关闭。
我需要在PSCustomObject中保留2或3个位置的值,这些位置根据创建的对象而不同。对象在脚本中硬编码,但有时我需要更改值。但不更改2或3个位置的值,是否可以自引用项,而不是编辑值所在的所有位置?
下面是一个例子,可以解释我正在尝试做的事情:
$objInfo = [PSCustomObject]@{
name = 'TheObjectName'
color = 'red'
size = 'small'
mystring = "The $($self.name) is $($self.color) and $($self.size)"
}
是否可以用类似$self的东西来指代自身?
1条答案
按热度按时间2uluyalo1#
Add-Member
允许您通过添加成员来修改现有对象;* 就像名称表示lol* 一样。也就是说,您可以使用ScriptProperty
的membertype添加一个值,该值引用使用关键字$this
的相同对象属性:这也可以使用
class
来完成,但是为了回答你的问题,我使用了Add-Member
。作为一种替代方法,在PSCustomObject
之外创建属性值,然后在其中引用,应该会给予你同样的效果。例如: