MyClass对象与<;T>;在给定的类中
本文关键字:对象 lt MyClass gt | 更新日期: 2023-09-27 18:21:04
中MyClass
对象和<T>
之间的关系是什么
public class MyClass<T> where T : myGeneric
{
}
在DBM回复后添加到我的问题
上面的实现如何比更好
IGenericInterface
{
int Bar();
}
public abstract GenericClass : IGenericInterface
{
public virtual int Bar()
{
return 1;
}
}
然后使用abstraft类实现
public class MyClass : GenericClass
{
IGenericInterface GenericObject ;
}
您可能想了解C#泛型。您发布的代码是一个名为MyClass
的类,它可以接受从类myGeneric
派生的任何内容。T
是该类型的占位符。
例如,你可以做
public class myGeneric
{
public int Bar()
{
return 1;
}
}
public class MyClass<T> where T : myGeneric
{
public void DoSomething(T foo)
{
int x = foo.Bar();
}
}
因此,在上面的例子中,x
将是1。
"MyClass"是类名,"<T>"是泛型参数列表。
-
不需要将MyClass强制转换为IGenericInterface
-
在编译时,所有出现的T都将替换为调用中使用的实际类类型,而不是在运行时将类强制转换为IGenericInterface。