public static void ShowPeople(People tParameter) { Console.WriteLine("This is {0},parameter={1},type={2}", typeof(GenericMethod), tParameter.GetType().Name, tParameter.ToString()); //((People)tParameter).Id //tParameter. Console.WriteLine("id={0} name={1}", tParameter.Id, tParameter.Name); tParameter.Hi(); //tParameter.Work(); //tParameter.Id //tParameter.Name }
public static void ShowBase(People tParameter)//因为约束可以叠加 更灵活 { Console.WriteLine($"{tParameter.Id}_{tParameter.Name}"); tParameter.Hi(); }
// 为啥不直接用基类: 约束可以叠加,更灵活 // 此实现与 line 19 - line24效果一样 // 但是使用泛型约束可以不止局限在People // 可以让它既是people 或 people 子类, 也可以同时 // 是ISports, IWork public static void ShowBase(People peop) { Console.WriteLine($"{peop.Id}_ {peop.Name}"); peop.Hi(); }