利用反射操作类属性字段

  • 加载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; }
       }
    
posted @   码农阿亮  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2020-03-25 JAVA 连接数据库的步骤
点击右上角即可分享
微信分享提示