Powershell 中的自定义类型,将泛型集合作为成员
-
13-12-2019 - |
题
我想在我的 powershell 脚本中声明以下类型:
Add-Type @'
public class VirtualMachine {
string Name;
string HostName;
HashSet<string> Dependencies = new HashSet<string>();
}
'@
但编译器抱怨找不到 HashSet。
如果我注释掉 HashSet 行,该类型就可以正常工作。我想我必须告诉 powershell 加载 System.Core 程序集,但我无法弄清楚。
请有人能告诉我我错过了什么吗?
提前谢谢。
编辑:]在您的快速帮助下,我设法解决了我的问题。谢谢您的时间。
这是我的最终代码:
Add-Type -ReferencedAssemblies System.Core @"
using System.Collections.Generic;
public class VirtualMachine {
public string Name;
public string HostName;
public HashSet<string> Dependencies = new HashSet<string>();
}
"@
解决方案
像这样:
Add-Type -ReferencedAssemblies System.Core @"
using System.Collections.Generic;
public class VirtualMachine {
public string Name { get; set; }
public string HostName{ get; set; }
public HashSet<string> Dependencies { get; set; }
}
"@
您必须添加程序集引用 System.Core
并添加一个 using System.Collections.Generic
在你的c#代码中。
其他提示
您可以通过引用的汇编参数添加引用。
Add-Type -ReferencedAssemblies System.Core
. 不隶属于 StackOverflow