Я думал, что могу связать методы/свойства в Nullable Types, используя ?-оператор, например
Dim foo As SomeObject? = New SomeObject()
Dim bar As SomeObject? = Nothing
foo?.SomeProperty 'Returns a value
bar?.someProperty 'Returns Nothing
Однако на следующем частном примере
Structure Foo
Public Sub New(bar As Integer)
Me.Bar = bar
End Sub
Property Bar() As Integer
Public Shared Operator +(f1 As Foo, f2 As Foo) As Foo
Return New Foo(f1.Bar + f2.Bar)
End Operator
End Structure
Я получаю сообщение об ошибке после выполнения следующей операции
Dim baz1 As Foo? = New Foo(13)
Dim baz2 As Foo? = New Foo(37)
Dim baz3 = baz1 + baz2
baz3?.Bar 'error BC36637: The '?' character cannot be used here
Почему это так и что более важно, как я могу добиться поведения, показанного в моем первом примере вверху?