C# 如何使用PowerShell将项添加到System.Collections.Generic.List对象?
我有一个对象,它有一个C# 如何使用PowerShell将项添加到System.Collections.Generic.List对象?,c#,.net,powershell,C#,.net,Powershell,我有一个对象,它有一个列表作为成员。我尝试通过以下方式将项目添加到此列表: $myObject.MyList.Add("News") $myObject.MyList.Add("FAQ") $myObject.MyList.Add("Events") 但当我检查时: $myObject.MyList.Count 它返回0。有没有其他方法可以让我这样做 从我的源代码中剪下: [Personalizable(PersonalizationScope.Shared), WebBrowsab
列表
作为成员。我尝试通过以下方式将项目添加到此列表:
$myObject.MyList.Add("News")
$myObject.MyList.Add("FAQ")
$myObject.MyList.Add("Events")
但当我检查时:
$myObject.MyList.Count
它返回0。有没有其他方法可以让我这样做
从我的源代码中剪下:
[Personalizable(PersonalizationScope.Shared), WebBrowsable(false)]
public List<String> SelectedTabs
{
get;
set;
}
[Personalizable(PersonalizationScope.Shared),WebBrowsable(false)]
公共列表选定选项卡
{
得到;
设置
}
对我有用:
$source =@"
using System.Collections.Generic;
public class MyClass {
public List<string> MyList;
public MyClass(){
MyList = new List<string>();
}
}
"@
Add-Type -TypeDefinition $source -Language CSharpVersion3
$myObject = new-object MyClass
$myObject.MyList.Add("test");
$myObject.MyList.Count
$source=@”
使用System.Collections.Generic;
公共类MyClass{
公开名单;
公共MyClass(){
MyList=新列表();
}
}
"@
添加类型-TypeDefinition$source-Language CSharpVersion3
$myObject=新对象MyClass
$myObject.MyList.Add(“测试”);
$myObject.MyList.Count
我不是开发人员,但也许这正是您要寻找的:
PS> $list = New-Object System.Collections.Generic.List[System.String]
PS> $list.Add("News")
PS> $list.Add("FAQ")
PS> $list.Add("Events")
PS> $list
News
FAQ
Events
PS> $list.Count
3
您是否检查了
$myObject.MyList
是否确实是一个列表,而不是null等,并且它的实现方式是每次访问时都给出相同的列表。不是例如:public MyList{get{return new List();}}//总是返回一个闻起来像sharepoint Web部件的新列表
——这里还有其他一些事情,可能与属性值的序列化有关。您的上下文是什么?我使用的是[reflection.assembly]:Load(“MyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=13da1371f01433e6e”)
而不是Add Type
。@AbeMiessler-不应该这样做。你有你的程序集的示例代码吗?