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;
            }
    
  • 相关阅读:
    表删除 准备
    爱可生技术文档
    Bran的内核开发指南_中文版
    LINUX 内核内存管理
    Linux Container测试之block IO
    【实时文件同步】rsync+inotify-tools的安装与配置
    openlayer3 加载geoserver发布的WFS服务
    Geoserver跨域请求设置
    Bitmap 图片格式并用 C++ 读写 Bitmap
    C++中的对象初始化
  • 原文地址:https://www.cnblogs.com/srfree/p/3310367.html
Copyright © 2011-2022 走看看