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#教程频道。










