利用反射操作类属性字段
-
加载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; } }
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/16055689.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。