1
如何創建從數據類型,特別是從Char數據類型繼承的類?我只想添加一個屬性。如果這是不可能的,還有其他方法可以實現嗎?從數據類型繼承
如何創建從數據類型,特別是從Char數據類型繼承的類?我只想添加一個屬性。如果這是不可能的,還有其他方法可以實現嗎?從數據類型繼承
我不認爲你可以繼承系統類型。
記住一個擴展方法只能是一個Sub過程或一個Function過程。您不能定義擴展屬性,字段或事件。
您的選擇:
IsLetter
等。快速和骯髒的例子(您可能希望通過將其放置在一個Module
,而不是使這個Static
):
Class MyChar
Sub New()
End Sub
Sub New(byval input As System.Char)
Me.[Char] = input
End Sub
Sub New(byval input As String)
Me.Parse(input)
End Sub
Public Property [Char] As System.Char
Public Property ExtraProperty As String
Public ReadOnly Property IsLetter As Boolean
Get
return Me.[Char].IsLetter(Me.[Char])
End Get
End Property
Public Function Parse(ByVal input As String)
If (input Is Nothing) Then
Throw New ArgumentNullException("input")
End If
If (input.Length <> 1) Then
Throw New FormatException("Need a single character only")
End If
Me.[Char] = input.Chars(0)
End Function
End Class
從System.Char派生將是瘋狂和無用的努力。 Extension methods來救援。
這也可到Visual Basic? – Cobold 2011-05-30 21:04:37
@Cobold,當然,我已經更新了我的答案,指向文檔的VB.NET部分。 – 2011-05-30 21:05:40
有沒有辦法添加一個屬性?看起來不允許。 – Cobold 2011-05-30 21:13:32