12 public static Foo
operator - (Foo
? f
)
15 return new Foo (-f
.Value
.Value
);
25 public Bar (int value)
30 public static Bar
? operator - (Bar
? b
)
33 return new Bar (-b
.Value
.Value
);
42 static Foo
NegateFoo (Foo f
)
47 static Foo
NegateFooNullable (Foo
? f
)
52 static Bar
? NegateBarNullable (Bar
? b
)
57 static Bar
? NegateBar (Bar b
)
62 public static int Main ()
64 if (NegateFooNullable (null).Value
!= 42)
67 if (NegateFoo (new Foo (2)).Value
!= -2)
70 if (NegateBarNullable (null) != null)
73 if (NegateBar (new Bar (2)).Value
.Value
!= -2)
76 Console
.WriteLine ("OK");