是否可以从VB.net中的两个类继承?
我们正在开发继承自System.Web.UI.WebControls.Label的自定义用户控件。我们计划实施一系列这些控件,但它们将共享大致相同的附加属性。我们希望集中这些属性。
我已经研究过接口,但它们似乎只是“契约”你需要实现的属性。
思想?
答案 0 :(得分:2)
没有。 VB.net类型不可能继承多个类。可以实现无限数量的接口,但继承仅限于一种类型。
注意:这不是任意的VB.Net限制。它实际上是一个融入CLR的限制。像C ++ / CLI这样的语言通过一些非常有趣的类型展平例程解决了这个问题,但在CLR级别它们使用单继承。
答案 1 :(得分:0)
不,你不能从两个班级继承。
但是,我们遇到了与您完全相同的问题,并通过以下方式解决了这个问题:
1)我们创建了一个由每个控件实现的接口,以便它们可以轻松发现。
2)我们创建了一个设置类,其中包含所有类共有的设置和逻辑。
3)我们在1中创建的接口中添加了一个属性,以显示设置类,以便我们可以对所有属性执行标准操作。