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;
            }
    
  • 相关阅读:
    T100添加合计
    T100整单操作维护交运方式
    错误代码:11300001 数据集配置错误Query:ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段
    T100 技术汇总
    帆软取年月常用函数
    使用oracle DB_LINK的一个注意点
    单行拆转多行的查询
    SQL-Oracle内实现柱形图式的效果
    SQL-删除重复记录
    MERGE语法详解
  • 原文地址:https://www.cnblogs.com/srfree/p/3310367.html
Copyright © 2011-2022 走看看