有沒有辦法做到這一點,而不使用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