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

byc*_*nce 3 .net c# powershell mocking moles

我正在使用Microsoft Moles来模拟一个方法.

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

采集<PSObject>

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

但是当我尝试使用时

PSObject obj = new PSObject();
obj.Members.Add(new PSMemberInfo(
Run Code Online (Sandbox Code Playgroud)

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

我该如何添加属性?

谢谢.

llj*_*098 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
Run Code Online (Sandbox Code Playgroud)

选择你的班级,并初始化它.