是否有可能动态声明一个类? 是否有可能在C#中使用匿名类创建通用列表? 任何代码片段都会有所帮助。感谢
答案 0 :(得分:5)
动态声明一个类需要CodeDom。
是否有可能在C#中使用匿名类创建通用列表?
是的,但一般情况下,不推荐在直接上下文之外使用。例如,这会创建一个匿名类型的通用列表:
var range = Enumerable.Range(0, 100);
var genericList = range.Select(value => new { Value = value }).ToList();
在上面的代码中,genericList
是包含匿名类型的List<T>
。
答案 1 :(得分:5)
正如SLaks在评论中提到的,这是可能的。但这不是微不足道的。我不确定您要做什么,但您可以轻松地将匿名类型添加到通用的对象列表中。
List<object> list = new List<object>();
for(int i = 0; i < 10; i++){
list.Add(new { SomeProperty = i, OtherProperty = "foobar" });
}
答案 2 :(得分:1)
Microsoft在4.0版中使C#动态化。您可以使用新的“动态”关键字。以下链接提供了一些如何使用新动态类型的好例子。