C#获取类的所有属性(1)

class Program
    {
        static void Main(string[] args)
        {
            TestA ta = new TestA();
            ta.I1 = 1;
            ta.I2 = 2;

            object obj = ta;
            Type t = obj.GetType();//获取对象类型
            PropertyInfo[] info = t.GetProperties();//获取对象的属性,属性必须带有set和get,否则获取不到
            foreach (PropertyInfo item in info)
            {
                string s1 = item.Name;//获取属性名称
                Console.WriteLine(s1);
            }
            Console.ReadKey();
        }
    }

    class TestA
    {
        private int i1 = 1;
        private int i2 = 2;
        public int i3 = 3;//是public类型,但是不带set和get,很容易被忽略
        public int I1 { get => i1; set => i1 = value; }
        public int I2 { get => i2; set => i2 = value; }
    }

结果显示:C#获取类的所有属性(1)_第1张图片

 

你可能感兴趣的:(C#心得,c#,visual,studio,反射)