Ho una classe in C# dicono per esempioCome utilizzare New-oggetto di una classe presente in una DLL C# utilizzando PowerShell
public class MyComputer : PSObject
{
public string UserName
{
get { return userName; }
set { userName = value; }
}
private string userName;
public string DeviceName
{
get { return deviceName; }
set { deviceName = value; }
}
public string deviceName;
}
che è derivato da PSObject. Sto caricando la DLL con questo codice in PowerShell usando import-module. Quindi ho provato a creare un nuovo oggetto della classe MyComputer in PowerShell.
PS C:> $ MyCompObj = New-Object MyComputer
ma genera un errore dicendo assicurarsi assembly contenente questo tipo viene caricato. Nota: Sono in grado di chiamare Cmdlet correttamente che è presente nella DLL.
Non sono sicuro che sia il modo giusto per procedere alla creazione di un nuovo oggetto. Si prega di correggere per me fare questo lavoro.
Grazie per la risposta. Se sto definendo la classe direttamente in PowerShell, allora quello che hai detto funzionerà. Ma la classe è all'interno della DLL C#, quindi questa tecnica fallisce. – Shaj
Le proprietà C# sono tuoi amici. :-) Assicurati di impostare il parametro Language su CSharpVersion3. –
@ Keith, giusto. Ho appena editato l'esempio di Shaj :) – stej