使用 2 个相同类型的对象,我正在尝试实现<
and >
,但我似乎找不到任何关于如何处理其中一个或两者的权威资料Nothing
。换句话说,公认的做法或 MSDN 建议是什么。
示例代码:
Private Shared _accessors As IEnumerable(Of Func(Of CmykColor, Decimal))
Public Shared Operator >(ByVal color1 As CmykColor, ByVal color2 As CmykColor) As Boolean
//' A null object is always less than a non-null object
If color1 Is Nothing OrElse color2 Is Nothing Then Return False
Dim foundGreater As Boolean
For Each prop In _accessors
If prop(color1) < prop(color2) Then Return False
If foundGreater = False AndAlso prop(color1) > prop(color2) Then foundGreater = True
Next
Return foundGreater
End Operator
访问器是我集中属性枚举的规范方法(都是十进制的)
如果两者都返回 false Nothing
?
我找到了一条评论,但似乎无法验证或验证它
空对象总是小于非空对象
我该如何处理Nothing
?