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# 动态化。您可以使用新的“动态”关键字。以下链接有一些很好的例子来说明如何使用新的动态类型。

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

于 2010-11-02T16:41:23.203 回答