【发布时间】:2011-02-08 09:24:25
【问题描述】:
我想知道是否可以定义一种以上类型的变量/属性。
假设我想要一个属性TextWebControl,它是一个WebControl,并且还实现了Web.UI.ITextControl(例如,像文本框或标签)。但我不想强制它是 TextBox 或 Label,而只是从 WebControl 继承并实现 ITextControl 的一个,以便它也可以与未来版本的 .Net-Framework 中添加的控件一起使用。
- .Net-Framework 4.0
编辑:我重新标记了问题并添加了 VB.Net,因为它是我的默认语言。通常,我理解 C# 也没有问题,但我必须承认,如果没有经验,很难将通用的东西翻译成 VB.Net,而且在 C# 中的文档也比在 VB 中更好。所以我会欣赏(并接受)VB.net 泛型 ITextControl/WebControl 的工作示例。
从 Marc 的回答中,我了解到我需要一个通用类。但是我如何在SomeClass 中实例化它?这不会编译:
Class SomeClass
Public Property info As InfoControl(Of WebControl, ITextControl)
End Class
Public Class InfoControl(Of T As {WebControl, ITextControl})
End Class
非常感谢。
【问题讨论】:
-
属性不能是通用的...
标签: c# .net asp.net vb.net generics