/// <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); }