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-不应该这样做。你有你的程序集的示例代码吗?