我是VB的新手,我很难理解以下(遗留代码)类声明的实际含义:
Public MustInherit Class ModelBase(Of T As {ModelBase(Of T, TIdType), New}, TIdType)
任何人都能解释一下吗?还有一个相关的ModelBaseCollection
:
Public MustInherit Class ModelBaseCollection(Of TCollection As {ModelBaseCollection(Of TCollection, TModel, TIdType), New}, TModel As {ModelBase(Of TModel, TIdType), New}, TIdType)
Inherits Collection(Of TModel)
我很难理解ModelBaseCollection
类的必要性,因为ModelBase
类是泛型类型。
答案 0 :(得分:1)
鉴于8个月以来缺乏答案,引用好奇重复模板模式的评论已经(正确)被视为解决方案。
然而,这可以明确地描述:
Public MustInherit
可公开访问,无法直接创建,但必须继承才能使用;
Class ModelBase(Of
这是一个通用类,其中指定的类是:
T As {ModelBase(Of T, TIdType), New},
从此类继承的可创建类,
TIdType)
另一种类型。
在没有看到其余代码的情况下,ModelBaseCollection
只是同一种构造,能够引用(一个继承类)本身的可创建版本以及相应的ModelBase
。 / p>