Esempio n. 1
0
        /// <summary>
        /// 通过泛型来初始化对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        static T Init <T>() where T : AbsPerform, ICharge
        {
            //1:实例化
            T obj = (T)Activator.CreateInstance(typeof(T));

            //2:通过XML文档来初始化对象,给对象赋值
            XMLTools.InitByXML <T>(obj);
            Console.WriteLine($"=================口技大师:{obj.User}来了==================");
            //3:打印该对象的属性和方法
            foreach (var item in typeof(T).GetProperties())
            {
                Console.WriteLine($"*属性名:{item.Name},属性值:{item.GetValue(obj)}*");
            }
            foreach (var item in typeof(T).GetFields())
            {
                Console.WriteLine($"*字段名:{item.Name},字段值:{item.GetValue(obj)}*");
            }
            return(obj);
        }