3

クラスを動的に宣言する可能性はありますか?C#で匿名クラスを使用してジェネリックリストを作成する可能性はありますか?どんなコードスニペットも役に立ちます。ありがとう

4

3 に答える 3

5

クラスを動的に宣言するには、 CodeDomが必要です。

C#で匿名クラスを使用してジェネリックリストを作成する可能性はありますか?

はい。ただし、一般的に、直接のコンテキスト外での使用はお勧めしません。たとえば、これにより匿名タイプのジェネリックリストが作成されます。

var range = Enumerable.Range(0, 100);

var genericList = range.Select(value => new { Value = value }).ToList();

上記のコードでgenericListは、はList<T>匿名型を含んでいます。

于 2010-11-02T16:33:25.490 に答える
5

SLaksがコメントで述べたように、それは可能です。しかし、それは自明ではありません。何をしようとしているのかわかりませんが、オブジェクトのジェネリックリストに匿名型を簡単に追加できます。

List<object> list = new List<object>();
for(int i = 0; i < 10; i++){
   list.Add(new { SomeProperty = i, OtherProperty = "foobar" });
}
于 2010-11-02T16:35:23.703 に答える
1

Microsoft はバージョン 4.0 で C# を動的にしました。新しい「dynamic」キーワードを使用できます。次のリンクには、新しい動的タイプの使用方法の良い例がいくつかあります。

http://msdn.microsoft.com/en-us/library/dd264741.aspx

于 2010-11-02T16:41:23.203 に答える