(由于我在网络上进行了大量搜索以寻找答案,但未获得正确方向的任何提示,因此我想问自己以下问题:)
我有一个像这样的PowerShell类:
class settings
{
[string]$CFG_Name
[string]$CFG_Template_Path
[string]$CFG_Target_Path
[System.Collections.Specialized.OrderedDictionary]$ConfigSettings
}
然后我实例化此类,并想像这样使用它:
$CurrentSettings = New-Object settings <-- works fine
$CurrentSettings.CFG_Name = 'MPD' <-- works fine
$CurrentSettings.CFG_Template_Path = $CFG_Template_MPD_Path <-- works fine
$CurrentSettings.CFG_Target_Path = $CFG_MPD_Path <-- works fine
$CurrentSettings.ConfigSettings.Add("TID",$EFT_TID) <-- doesn't work
上面的行引发:您不能在空值表达式上调用方法。
根据此页面:Documentation from Microsoft支持add方法。
为什么我不能像使用$ CFG_Name这样仅使用此属性?
如何将字典条目添加到该属性?
答案 0 :(得分:0)
解决方案如下:
在添加第一个字典条目之前,您必须像这样初始化属性:
$CurrentSettings.ConfigSettings = New-Object System.Collections.Specialized.OrderedDictionary
然后您可以添加条目:
$CurrentSettings.ConfigSettings.Add("TID",$EFT_TID)