运算符重载是使用Operator关键字实现的,该过程类似于创建Sub、Function或Property方法。
Public Shared Operator =(ByVal personl As Person, ByVal person2 As Person) As Boolean
Return personl.name = person2.name
End Operator
Public Shared Operator <>(ByVal personl As Person, ByVal person2 As Person) As Boolean
Return personl.name <> person2.Name
End Operator
注意,上面的程序重载了=和<>运算符。很多运算符都是成对出现的,包括等于运算符.如果重载了=,那么也必须重载<>,否则就会产生编译错误。现在,我们已经重载了这些运算符,因此可以在Forml中编写如下代码:
Dim pl As New Person("Fred", #1/1/1960#)
Dim p2 As New Person("Mary", #1/1/1980#)
Dim p3 As Person = pl
Debug.WriteLine(CStr(pl = p2))
Debug.WriteLine(CStr(pl = p3))
=和<>运算符都接受两个参数,因此称为二元运算符。只接受一个参数的运算符称为一元运算符。CIYpe运算符,把String值转换为一个Person对象。
Public Shar