• 反射_获取类的信息


    通过C#中的type类获取类中的字段、属性、方法等相关信息。

        /// <summary>
        /// 通过type类获取类中的公有字段,属性和方法
        /// </summary>
        /// 
        class newClass
        {
            public string Id01;
            public string Id02;
            public string Id03;
    
            public string Name01 { get; set; }
            public string Name02 { get; set; }
            public string Name03 { get; set; }
    
            public void Method01()
            {
            }
            public void Method02()
            {
            }
            public void Method03()
            {
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                newClass testClass = new ReflectionTest01.newClass();
                testClass.Id01 = "01";
                testClass.Id02 = "02";
                testClass.Id03 = "03";
                testClass.Name01 = "name01";
                testClass.Name02 = "name02";
                testClass.Name03 = "name03";
    
                Type type = testClass.GetType();
                 //获取基本属性
                //获取类名
                Console.WriteLine(type.Name);
                //获取命名空间
                Console.WriteLine(type.Namespace);
                //获取命名空间
                Console.WriteLine(type.Assembly);
                //获取public的字段
                FieldInfo[] fields = type.GetFields();
                foreach(FieldInfo info in fields)
                {
                    Console.Write(info.Name+" ");
                    Console.Write(info.GetValue(testClass)+ " ");
                }
                Console.WriteLine();
                //获取属性
                PropertyInfo[] props = type.GetProperties();
                foreach (PropertyInfo info in props)
                {
                    Console.Write(info.Name + " ");
                    Console.Write(info.GetValue(testClass)+ " ");//获取对应的值
                }
                Console.WriteLine();
                //获取方法
                
                MethodInfo[] methods = type.GetMethods();
                foreach (MethodInfo info in methods)
                {
                    Console.Write(info.Name + " ");
                }
                Console.WriteLine();
    
    
    
    
                Console.ReadKey();
            }
        }

    可以通过EventInfo[] events=type.GetEvents();获取类的事件。

  • 相关阅读:
    每日日报24
    每日日报23
    每日日报22
    链路层:MAC 地址
    应用层:电子邮件
    应用层:HTTP 协议
    应用层:DNS 域名系统
    运输层:TCP 拥塞控制
    运输层:拥塞控制原理
    JAVA学习日记26-0731
  • 原文地址:https://www.cnblogs.com/llstart-new0201/p/6792077.html
Copyright © 2020-2023  润新知