当前位置:首页 > Windows程序 > 正文

C#反射取得类的字段与方法信息

2021-03-26 Windows程序

using System.Reflection;

namespace TestReflect

{

    class BaseClass

    {

        public int MyFieldBase=1;

        public int getfieldBase()

        { return MyFieldBase; }

    }

    class DerivedClass : BaseClass

    {

        public int MyFieldDerived=2;

        public int getfieldBase(int i)

        { return MyFieldDerived; }

    }

    class Program

    {

        static void Main(string[] args)

        {

            Type tbc=typeof(DerivedClass);

            Console.WriteLine("类型名:{0}.", tbc.Name);

            Console.WriteLine("它有如下字段:");

            FieldInfo[] fi = tbc.GetFields();

            MethodInfo[] me = tbc.GetMethods();

            foreach (var f in fi)

            {

                Console.WriteLine("字段类型{0},字段名{1}",f.FieldType,f.Name);

            }

            Console.WriteLine();

            Console.WriteLine("它有如下方法:");

            foreach (var f in me)

            {

                Console.WriteLine("返回值类型:{0},函数名:{1}",f.ReturnType ,f.Name);

                ParameterInfo[] paramsInfo = f.GetParameters();

                foreach (var p in paramsInfo)

                {

                    Console.WriteLine("参数类型:{0}参数名:{1}",p.ParameterType,p.Name);

                }

                Console.WriteLine();

            }

            Console.ReadKey();

        }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67584.html