2011-12-15 12 views
2

私は会員としてList<String>を持っているオブジェクトを持っています。私は、次のように、このリストに項目を追加してみました:PowerShellを使用してSystem.Collections.Generic.Listオブジェクトに項目を追加する方法は?

$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; 
    } 
+0

あなたは '$ myObject.MyList'が間違いなくListであり、nullではないことを確認しましたか?そして、それがacのたびに同じリストを与えるようにimplimentされていますか退院した。 'public MyList {get {return new list ();}} //常に新しいリストを返します。 – ForbesLindesay

+0

シェアポイントwebpartのような臭いがあります。プロパティ値あなたの文脈は何ですか? – x0n

答えて

3

作品:私のソースコードから

Snippitを

$source [email protected]" 
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 
+0

'Add-Type'の代わりに' [reflection.assembly] :: Load( "MyAssembly、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = 13da1371f01433e6e")を使用している点が違いますか? –

+0

@AbeMiessler - そうしてはいけません。あなたのためのサンプルコードがありますか? – manojlds

+0

ええ、私の質問の更新を見てください。 –

3

私は開発者ではないんだけど、多分これはあなたが探しているものです:

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 
関連する問題