我正在使用Microsoft Moles来模拟一个方法。
这个方法调用另一个方法来调用PowerShell脚本并返回
Collection
<PSObject>
所以我想模拟它以返回一个自定义的PSObject。 它将有两个属性,ID和Name。
但是当我尝试使用时
PSObject obj = new PSObject();
obj.Members.Add(new PSMemberInfo(
我发现构造函数是受保护的。
如何添加属性?
谢谢。
我正在使用Microsoft Moles来模拟一个方法。
这个方法调用另一个方法来调用PowerShell脚本并返回
Collection
<PSObject>
所以我想模拟它以返回一个自定义的PSObject。 它将有两个属性,ID和Name。
但是当我尝试使用时
PSObject obj = new PSObject();
obj.Members.Add(new PSMemberInfo(
我发现构造函数是受保护的。
如何添加属性?
谢谢。
PSMemberInfo
是一个抽象类,因此您不能直接创建其实例,而是选择其子类。
在页面:http://msdn.microsoft.com/en-us/library/system.management.automation.pspropertyinfo(v=vs.85).aspx中,您可以找到以下内容:
System.Object
System.Management.Automation.PSMemberInfo
System.Management.Automation.PSPropertyInfo
System.Management.Automation.PSAliasProperty
System.Management.Automation.PSCodeProperty
System.Management.Automation.PSNoteProperty
System.Management.Automation.PSProperty
System.Management.Automation.PSScriptProperty
选择您的类,并初始化它。
你可以使用不同的成员类型代替PSNoteProperty
PSObject individualPsObject = new PSObject();
individualPsObject.Members.Add(new PSNoteProperty("Name", "Value"));