c# 反射创建list 实体类 例子

动态 未结 0 105
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是一个使用反射创建 List 类型的实体类的示例: ``` using System; using System.Collections.Generic; using System.Reflection; public class MyClass { public int Id { get; set; } public string Name { get; set; } } class Program { static void Main(string[] args) { Type listType = typeof(List<>); Type itemType = typeof(MyClass); Type genericListType = listType.MakeGenericType(itemType); ConstructorInfo constructor = genericListType.GetConstructor(Type.EmptyTypes); object obj = constructor.Invoke(null); List myList = (List)obj; myList.Add(new MyClass { Id = 1, Name = "John" }); myList.Add(new MyClass { Id = 2, Name = "Jane" }); foreach (MyClass item in myList) { Console.WriteLine($"Id: {item.Id}, Name: {item.Name}"); } } } ``` 在这个示例中,首先获取了 List 类型的 Type 对象,并使用 Type 对象的 `GetConstructor` 方法获取无参构造函数。然后,使用 ConstructorInfo 对象的 `Invoke` 方法创建 List 类型的对象,并将其赋值给变量 `obj`。最后,使用类型转换将 `obj` 转换为 List 类型的对象 `myList`。 接着,向 `myList` 中添加两个 MyClass 类型的对象,并使用 foreach 循环遍历 `myList` 中的所有元素,并输出它们的 Id 和 Name 属性。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复