欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > C# >内容正文

C#

C#反射类的属性

发布时间:2025/5/22 C# 66 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C#反射类的属性 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

以下例子是将HashTable对象反射成类的实例,只是反射出了类中的公共属性。

using System.Reflection;

namespace StudyConsole
{
    class ReflectToObject
    {
        public static void ReflectToStudent()
        {
            Hashtable data = new Hashtable();
            data["Name"] = "李雷";
            data["Age"] = 25;
            data["Sex"] = "女";

            Assembly assembly = Assembly.Load("StudyConsole");  //加载程序集

    //获得对象类型
            Type type = assembly.GetType("StudyConsole.Student",true,true);

    //获取所有公有的属性,不区分大小写s
            PropertyInfo[] properties = type.GetProperties(BindingFlags.Instance | BindingFlags.Public);
            object student = Activator.CreateInstance(type);  //创建实例
            foreach (PropertyInfo field in properties)
            {
                field.SetValue(student, data[field.Name], null);
                //Console.WriteLine("属性类型:{0},属性值:{1}", field.PropertyType, field.Name);
            }

        }
    }

    class Student
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }
    }
}

转载于:https://www.cnblogs.com/lansedehai1986/archive/2011/05/24/2056035.html

总结

以上是生活随笔为你收集整理的C#反射类的属性的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。