反射类的一些基本用法

   /// <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;
        }
原文地址:https://www.cnblogs.com/srfree/p/3310367.html