Используя 2 объекта одного типа, я пытаюсь реализовать <
и >
, но я не могу найти какого-либо авторитетного источника о том, что делать с тем или иным из них 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
Accessors - мой канонический метод для централизации перечисления свойств (все являются десятичными)
вернуть false для обоих, если либо Nothing
?
Я нашел комментарий, но не могу его подтвердить или подтвердить, что
Нулевой объект всегда меньше ненулевого объекта
Как мне справиться Nothing
?