利用反射操作类属性字段
-
加载DLL文件
Assembly assembly2 = Assembly.LoadFrom("SqlServerDB.dll"); -
获取指定类型
Type type2 = assembly2.GetType("SqlServerDB.PropertyClass"); -
调用泛型方法
object obj = Activator.CreateInstance(type2); foreach (var property in type2.GetProperties()) { Console.WriteLine(property.Name); //给属性设置值 if (property.Name.Equals("Id")) { property.SetValue(obj, 1); } else if (property.Name.Equals("Name")) { property.SetValue(obj, "学习编程"); } else if (property.Name.Equals("Phone")) { property.SetValue(obj, "123459789"); } //获取属性值 Console.WriteLine(property.GetValue(obj)); } -
反射测试类
位于SqlServerDB.dll中的PropertyClass.cs文件中
public class PropertyClass { public int Id { get; set; } public string Name { get; set; } public string Phone { get; set; } }