如何创建一个继承自数据类型的类,特别是Char数据类型?我只是不想添加一个属性。如果不可能,还有其他方法可以实现吗?
答案 0 :(得分:2)
从System.Char派生将是疯狂和无用的努力。 Extension methods救援。
答案 1 :(得分:2)
我认为你不能从系统类型继承。
请记住,扩展方法只能是Sub过程或Function过程。您无法定义扩展属性,字段或事件。
您的选择:
IsLetter
等。快速而肮脏的示例(您可能希望通过将其放在Static
中来制作此Module
):
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