C#的Type对象的简单应用

2021-01-08 10:29

阅读:435

标签:loading   添加   png   com   void   eth   pre   vat   私有   

通过Type对象可以获取类中所有的公有成员

直接贴代码:

class MyClass

    {

        private string name;

        private int id;

        public string city;

        public int number;

 

        public string yifu { get;private set; }//对外部只读不取

 

        private string kuzi { get; set; }

 

        public void setYifu(string yifu)

        {

            this.yifu = "yifu";

 

        }

 

        public void method1() { }

 

        private void method2() { }

}

static void Main(string[] args)

        {

            //string Name = "testing1";

            //Type type = typeof(Name);//不成立,type只能指向类

 

            MyClass myclass = new MyClass();

            Type type = myclass.GetType();

            Console.WriteLine(type.Assembly);//获取所在程序集

            Console.WriteLine(type.Namespace);//获取所在命名空间

            Console.WriteLine(type.Name);//获取类名

            FieldInfo[] FieldArray = type.GetFields();//将类中公有字段添加进array中,私有的没有权限所以访问不到

            foreach (var fInfo in FieldArray)

            {

                Console.WriteLine(fInfo.Name);//获取字段名

            }

 

            PropertyInfo[] propertyArray = type.GetProperties();

            //PropertyInfo propertyName = type.GetProperty("yifu");

            foreach (var pInfo in propertyArray)//获取公有属性

            {

                Console.WriteLine(pInfo.Name);//获取属性名

            }

 

            MethodInfo[] methodArray = type.GetMethods();

            foreach (var mInfo in methodArray)//获取公有方法

            {

                Console.WriteLine(mInfo.Name);//获取方法名,会输出包括系统预定义的如ToString,GetHashCode等方法

            }

            //通过Type对象可以获取类中所有的公有成员

        }

输出结果:

技术图片

 

C#的Type对象的简单应用

标签:loading   添加   png   com   void   eth   pre   vat   私有   

原文地址:https://www.cnblogs.com/qjns/p/13125224.html


评论


亲,登录后才可以留言!