//注意 如果不加out T 会报类型转换错误
 private void PrintSalary1(ISalary <Employee> p)
 {
     p.Pay();
 }
Exemplo n.º 2
0
 static void PrintSalary(ISalary <Employee> s)    //用法正确
 {
     s.Pay();
 }
Exemplo n.º 3
0
 static void PrintSalary <T>(ISalary <T> s)
 {
     s.Pay();
 }
 private void PrintSalary <T>(ISalary <T> p)
 {
     p.Pay();
 }
Exemplo n.º 5
0
 /// <summary>
 /// 042中. 原本不支持這樣呼叫 但是ISalary<out T>  我們增加了Out 使得可以使用斜變
 /// </summary>
 /// <param name="s"></param>
 void PrintSalary(ISalary <Employee> s)
 {
     s.Pay();
 }
 static void PrintSalary <T>(ISalary <T> s) //泛型参数<T>兼容泛型接口参数T的不可变性
 {
     s.Pay();
     s.PayT();
 }
 static void PrintSalary(ISalary <Employee> s)
 {
     s.Pay();
     s.PayT();
 }