如何在C#中向PSObject添加成员?

时间:2012-04-06 11:22:51

标签: c# .net powershell mocking moles

我正在使用Microsoft Moles来模拟方法。

此方法调用另一个调用PowerShell脚本并返回

的方法
  

集合<PSObject>

所以我想模仿它来返回一个自定义的PSObject。 它将有两个属性,ID和Name。

但是当我尝试使用

PSObject obj = new PSObject();
obj.Members.Add(new PSMemberInfo(

我发现构造函数受到保护。

如何添加属性?

谢谢。

1 个答案:

答案 0 :(得分:8)

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

选择你的班级,并启动它。