我已经做了大量的方法重载,但现在我有一个我想要重载属性的实例. Visual Studio中的IDE似乎允许它,因为我实际上可以设置两个重载,但我收到一个错误,说它是无效的,因为它们的类型不同.我想我在我的语法中缺少一些东西
我想要使用两个(或更多)不同的自定义类作为我的属性的类型.
Public Overloads Property myFlexibleProperty() As myCustomClass1 Get Return _myFlexibleProperty1 End Get Set(ByVal value As myCustomClass1) _myFlexibleProperty1 = value End Set End Property Public Overloads Property myFlexibleProperty() As myCustomClass2 Get Return _myFlexibleProperty2 End Get Set(ByVal value As myCustomClass2) _myFlexibleProperty2 = value End Set End Property
到目前为止,我发现的所有帮助都涉及重载方法.尽管IDE是让我做的,我开始认为这是不可能的?
要重载某些东西 – 方法或属性 – 您需要它接受一组不同的参数.由于VB.NET中的属性可以接受参数,我猜你可以重载它们;但它们必须是不同的.
所以你可以这样做:
Public Overloads Readonly Property Average() As Double Public Overloads Readonly Property Average(ByVal startIndex As Integer) As Double
但不是这样的:
Public Overloads Readonly Property Average() As Double Public Overloads Readonly Property Average() As Decimal