如何动态声明一个类?C#

dan*_*oid 3 .net c# reflection anonymous-class

是否有可能动态声明一个类?是否有可能在C#中使用匿名类创建通用列表?任何代码片段都会有所帮助.谢谢

Ree*_*sey 5

动态声明一个类需要CodeDom.

是否有可能在C#中使用匿名类创建通用列表?

是的,但一般情况下,不推荐在直接上下文之外使用.例如,这会创建一个匿名类型的通用列表:

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

var genericList = range.Select(value => new { Value = value }).ToList();
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,genericList是一个List<T>包含匿名类型.


Mat*_*att 5

正如SLaks在评论中提到的,它是可能的.但这不是微不足道的.我不确定您要做什么,但您可以轻松地将匿名类型添加到通用的对象列表中.

List<object> list = new List<object>();
for(int i = 0; i < 10; i++){
   list.Add(new { SomeProperty = i, OtherProperty = "foobar" });
}
Run Code Online (Sandbox Code Playgroud)