zoukankan      html  css  js  c++  java
  • 反射类的一些基本用法

       /// <summry>
            /// 反射的命名空间和类名
            /// </summary>
            /// <param name="value">对象</param>
            /// <returns></returns>
            public string fanshe1(T value)
            {
                Type type1 = value.GetType();
                string a = type1.FullName;
                return a;
            }
    
            /// <summary>
            /// 反射所有的属性
            /// </summary>
            /// <param name="value">对象</param>
            /// <returns></returns>
            public string fanshe2(T value)
            {
                Type type1 = value.GetType();
                PropertyInfo[] a = type1.GetProperties();
                string allvalue = "";
                foreach (var item in a)
                {
                    allvalue += item.Name + ",";
                }
                string allvalue1 = allvalue.TrimEnd(',');
                return allvalue1;
            } 
    
            /// <summary>
            /// 反射所有属性值
            /// </summary>
            /// <param name="value">对象</param>
            /// <returns></returns>
            public string fanshe3(T value)
            {
                Type type1 = value.GetType();
                PropertyInfo[] a = type1.GetProperties();
                string allvalue = "";
                foreach (var item in a)
                {
                    allvalue+=item.GetValue(value, null).ToString()+",";
                }
               string allvalue1= allvalue.TrimEnd(',');
               return allvalue1;
            }
    
    
            /// <summary>
            /// 反射所有属性的类型
            /// </summary>
            /// <param name="value">对象</param>
            /// <returns></returns>
            public string fanshe4(T value)
            {
                Type type1 = value.GetType();
                PropertyInfo[] a = type1.GetProperties();
                string allvalue = "";
                foreach (var item in a)
                {
                    allvalue += item.PropertyType + ",";
                }
                string allvalue1 = allvalue.TrimEnd(',');
                return allvalue1;
            }
    
            /// <summary>
            /// 反射所有的公共构造方法
            /// </summary>
            /// <param name="value">对象</param>
            /// <returns></returns>
            public string fanshe5(T value)
            {
                Type type1 = value.GetType();
                ConstructorInfo[] a = type1.GetConstructors();
                string allvalue = "";
                foreach (var item in a)
                {
                    allvalue += item.Name.ToString() + ",";
                }
                string allvalue1 = allvalue.TrimEnd(',');
                return allvalue1;
            }
    
            /// <summary>
            /// 反射所有的方法
            /// </summary>
            /// <param name="value">对象</param>
            /// <returns></returns>
            public string fanshe6(T value)
            {
                Type type1 = value.GetType();
                MethodInfo[] a = type1.GetMethods(); 
                string allvalue = "";
                foreach (var item in a)
                {
                    allvalue += item.Name.ToString() + ",";
                }
                string allvalue1 = allvalue.TrimEnd(',');
                return allvalue1;
            }
    
  • 相关阅读:
    Linux常用命令及示例(全)
    linux下安装配置svn服务器
    Kafka、Redis和其它消息组件比较
    ORACLE定时备份方案
    mysql库表优化实例
    携程apollp快速部署DVE集群
    windows 安装Zookeeper 配置集群
    Ubuntu 18.04 LTS 修改Host,使用Host访问
    PowerShell因为在此系统中禁止执行脚本......
    常用第三方工具的Docker命令
  • 原文地址:https://www.cnblogs.com/srfree/p/3310367.html
Copyright © 2011-2022 走看看