我有一个C#函数(MyFunction(List<SafeInfo> securitySchema)
)。我正在尝试编写一个PowerShell脚本,它将创建List<SafeInfo>
对象并通过反射将其传递给MyFunction(List<SafeInfo>)
。反射在PowerShell中都很好,但我正在试图找出将参数对象的创建转换为PowerShell的正确方法。
这是可以使用的asample C#对象:
List<SafeInfo> schema = new List<SafeInfo>() {
new SafeInfo("mySafe1", new SecurityInfo("key1", SecurityType.Key, "some description")),
new SafeInfo("mySafe2", new SecurityInfo("key2", SecurityType.Combination, "another description")),
new SafeInfo("mySafe3", SecurityInfo.Unsecured)
};
到目前为止我的PowerShell:
$schema = New-Object 'Collections.Generic.List[MyNamespace.SafeInfo]'
$schema.Add(New-Object('MyNamespace.SafeInfo', 'mySafe1', New-Object('MyNamespace.SecurityInfo', 'key1', SecurityType.Key, 'some description')))
$schema.Add(New-Object('MyNamespace.SafeInfo', 'mySafe2', New-Object('MyNamespace.SecurityInfo', 'key2', SecurityType.Combination, 'another description')))
$schema.Add(New-Object('MyNamespace.SafeInfo', 'mySafe3', [MyNamespace.SecurityInfo]::Unsecured))
我是否在正确的轨道上?在PowerShell中创建此嵌套对象的最佳方法是什么?谢谢!