C#基础之泛型

2019-12-30 13:42:19王冬梅

public interface INone<T>
 {
  void Function1(T tParam);
  T Function2();
 }
 class MyClass<T> : INone<T>
 {
  public void Function1(T tParam)
  {
   Console.WriteLine(tParam.ToString());
  }
  public T Function2()
  {
   T t = default(T);
   return t;
  }
 }
 class hhh
 {
  void fangyz()
  {
   INone<object> o = new MyClass<object>();
   INone<string> str = new MyClass<string>();
   //假设str能够转换为o
   //o = str;
   object o1=new object();
   //这样的话就是object类型向string类型转换了,类型不安全
   o.Function1(o1);
   //这样则是string类型向object类型转换了,注意这样是ok的,没什么问题
   object o2=o.Function2();
   //假设str能够转换为o
   //str=o;
   //string对象将转变为object,这样没问题
   str.Function1("haha");
   //这样将是object向string类型的转换,类型不安全。
   string o3=str.Function2();
  }
 }

以上所述是小编给大家介绍的C#基础之泛型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ASPKU网站的支持!


注:相关教程知识阅读请移步到c#教程频道。