2012-04-06 18 views
3

Ich benutze Microsoft Moles, um eine Methode zu verspotten.Wie Sie Mitglieder zu einem PSObject in C# hinzufügen?

Dieser Methodenaufruf eine andere Methode, die ein Powershell-Skript aufruft und gibt

Sammlung <PSObject>

So will ich es verspotten eine benutzerdefinierte PSObject zurückzukehren. Es wird zwei Eigenschaften, ID und Name haben.

Aber wenn ich versuche

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

Ich fand die Verwendung der Konstruktor geschützt ist.

Wie kann ich Eigenschaften hinzufügen?

Vielen Dank.

Antwort

8

PSMemberInfo ist eine abstrakte Klasse, so dass Sie nicht eine Instanz direkt, sondern wählen ihre Unterklasse

auf der Seite: http://msdn.microsoft.com/en-us/library/system.management.automation.pspropertyinfo(v=vs.85).aspx Sie hier finden können:

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 

Wählen Sie Ihre Klasse, und es init .

+1

Was soll ich wählen? – bychance

+1

Versuchen Sie PSNoteProperty, das ist, was ich in meinen Mocks verwende. –

Verwandte Themen