【发布时间】:2011-09-03 07:48:50
【问题描述】:
首先,请看这个自定义的 Button-inherited UserControl 代码:
Public Class UserControl1
Dim _Text As String
Dim _Image As Image
<Browsable(True), Description("Gets or sets the text displayed on the button")> _
Overrides Property Text() As String
Get
Return _Text
End Get
Set(ByVal value As String)
_Text = value
MyBase.Text = value
End Set
End Property
<Browsable(True), Description("Gets or sets the image displayed on the button")> _
Overloads Property Image() As Image
Get
Return _Image
End Get
Set(ByVal value As Image)
_Image = value
'ReDrawMe()
End Set
End Property
End Class
这就是 UserControl 的所有代码。 Overrides Text 属性的 Overrides 还可以,但我不知道为什么 VS 告诉我我不能在 Image 属性中使用 Overrides,但我可以使用 Overloads。为什么?我认为Overloads 仅在有多个具有相同名称(不同参数)的方法时使用。我仍然怀疑两件事:
- 为什么
Image是这个类中唯一的属性声明,却必须叫Overloads? -
Property没有任何参数(当然),那么Overloads怎么可能呢?
感谢阅读。
【问题讨论】:
标签: .net vb.net oop overriding