c#反射和特性

反射一般用于底层框架的开发,通过反射可以获得类中的所有成员。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace 反射和特性
{
    class Program
    {
        static void Main(string[] args)
        {
            //通过Type对象可以获取类中的所有成员(public)
            MyClass my = new MyClass();
            Type type = my.GetType();
            Console.WriteLine(type.Name);//type的名字
            Console.WriteLine(type.Namespace);//type的命名空间
            Console.WriteLine(type.Assembly);//type所在程序集
            FieldInfo[] array = type.GetFields();//获得类中的字段
            foreach(FieldInfo info in array)
            {
                Console.WriteLine(info.Name+"");
            }
            PropertyInfo[] array2 = type.GetProperties();//获得类中的属性
            foreach (PropertyInfo info in array2)
            {
                Console.WriteLine(info.Name + "");
            }
            MethodInfo[] array3 = type.GetMethods();//获得类中的方法
            foreach (MethodInfo info in array3)
            {
                Console.WriteLine(info.Name + "");
            }



            Console.ReadKey();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_52397831/article/details/126959967