有没有办法做到这一点,而不使用Type
类?我宁愿使用泛型。反向泛型?
abstract class MyAbstract
{
protected abstract T GetSpecialType();
private void MyPrivateFunction()
{
someT = GetSpecialType();
}
private void DoSomething<T>()
{
}
}
class MyConcrete : MyAbstract
{
protected override T GetSpecialType()
{
return SomeReallySpecialClass();
}
}
我确定这会工作(它现在的方式),但它的丑陋。
abstract class MyAbstract
{
protected abstract Type GetSpecialType();
private void MyPrivateFunction()
{
Type someT = GetSpecialType();
}
private void DoSomething(Type ofT)
{
}
}
class MyConcrete : MyAbstract
{
protected override Type GetSpecialType()
{
return typeof(SomeReallySpecialClas();
}
}
或
我应该把它作为抽象类中的泛型参数?
我在想这是最好的方法。 – 2010-02-11 18:36:09