Я пишу сценарий с использованием PowerShell, который использует настраиваемый объект. Но сложной частью является то, что этот пользовательский объект использует другой пользовательский объект как свойство. Я пытаюсь сделать это с синтаксисом C#.Ошибка добавления второго типа, который зависит от первого
Когда я пытаюсь запустить скрипт я получаю эту ошибку:
The type or namespace name 'Disk' could not be found (are you missing a using directive or an assembly reference?)
c:\Users\trumpe\AppData\Local\Temp\orydsmyw.0.cs(1) : public class VirtualMachine{
c:\Users\trumpe\AppData\Local\Temp\orydsmyw.0.cs(2) : >>> public Disk Disks;
c:\Users\trumpe\AppData\Local\Temp\orydsmyw.0.cs(3) : public string IPAddress;
Есть ли способ сделать это вообще в PowerShell? Вот мой код класса в одном файле:
Add-Type -Language CSharp @"
public class Disk{
public string VirtualMachineDiskID;
public string StorageID;
public string StorageIdentifier;
public string DiskFileName;
public string StorageProfileID;
public int CapacityKB;
public int ControllerKey;
public int DeviceKey;
public int DiskMode;
public int UnitNumber;
}
"@;
Add-Type -Language CSharp @"
public class VirtualMachine{
public Disk Disks; #<=== This part stops working because it cannot find the type Disk
public string IPAddress;
public string Name;
public string OSFullName;
public string PowerState;
public string ResourcePoolID;
public string TenantID;
public string UniqueId;
public string VirtualMachineID;
public int NumCPU;
public int NumNic;
public int StorageCapacityAllocatedMB;
public int RamAllocatedMB;
public bool IsRemoved;
public bool IsTemplate;
}
"@;
Я не ограничен синтаксисом C#, поэтому все решения приветствуются.
FYI Я удалил тег в теле вопроса, которые были добавлены позже. http://meta.stackoverflow.com/questions/280315/tags-in-question-bodies – Matt
@Matt Хорошо, я больше их не добавлю. –
Я _think_ Я нашел то, что вы ищете, и это объясняет, почему вы не работали. Ответ на занятия здесь также поможет вам. – Matt