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

3

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

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

Collection<PSObject>

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

但是当我尝试使用时

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

我发现构造函数是受保护的。

如何添加属性?

谢谢。

2个回答

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

选择您的类,并初始化它。


1
尝试使用PSNoteProperty,在我的模拟中我就是用这个。 - James Blake

0

你可以使用不同的成员类型代替PSNoteProperty

PSObject individualPsObject = new PSObject();
individualPsObject.Members.Add(new PSNoteProperty("Name", "Value"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接