我想知道下面的代码段代码意味着什么。特别是部分:" EntityType为{BusinessEntity,New})"。我对VB继承有点新意,所以有些语法对我来说有点紧张。我知道一个基类被用来为从它继承的所有业务对象添加功能,但是语法让我有点失望。这个设计模式有名称吗?
Public Class AppObjectBase(Of EntityType As {BusinessEntity, New})
Inherits BusinessObject(Of EntityType)
...
...
Public Class NavTreeObj
Inherits NavTree(Of NavTreeEntity)
End Class
Public Class NavTree(Of EntityType As {NavTreeEntity, New})
Inherits AppObjectBase(Of EntityType)
...
...
答案 0 :(得分:1)
你知道Of EntityType
部分本身意味着什么吗?如果没有,那么你应该阅读泛型类型。对于As {BusinessEntity, New}
部分,这意味着EntityType
必须是BusinessEntity
类型或从BusinessEntity
类型继承,并且它还必须具有无参数构造函数。通过在泛型类型参数上指定这些约束,您可以访问{{1}}类型的成员,并调用构造函数以在方法中创建新实例。