是否有可能从外部类提供的泛型类型派生嵌套类?

我想创建一个基于提供给外部类的类型的嵌套类。我需要内部类一些成员来扩展T:是否有可能从外部类提供的泛型类型派生嵌套类?

TOuterClass<T:class> = class 

type

TNestedClass = class(T)

MoreData:Integer;

end;

end;

编译器说“没有”,或更具体地[DCC错误] MyUnit.pas(20):E2021类类型所需class(T)

是否有可能实现我想要做的事情?

回答:

不,这是不可能的。

回答:

还没有。它可能应该,但编译器并没有真正考虑通用约束的所有后果。您应该将其作为功能请求添加到QC中。

回答:

没有,但你可以在派生类中已经解决了T的类型:

TOuterClass<T:class> = class 

//Data

end;

TDerived = class(TOuterClass<TObject>)

type

TNestedClass = class(TObject)

MoreData:Integer;

end;

end;

以上是 是否有可能从外部类提供的泛型类型派生嵌套类? 的全部内容, 来源链接: utcz.com/qa/258406.html

回到顶部