title: Can I have different return types for getter and setter of "valuetype?" properties?
body: <p>For example, I have an int? property named Foo, I want the getter to return int?, and the setter to return int(to forbidden null assignment from outside at compile time), which will be like:</p>
  <pre><code>private int? foo;
  public int? Foo {
      get {
          return foo;
      }
  }
  public int Foo {
      set {
          foo = value;
      }
  }
  </code></pre>
  <p>The code above will not compile, but I think using accessors this way makes sense. I wonder if C# support such a use case. Otherwise I will have to check if the assigned value is not null in the setter at runtime or work around by adding a pair of method GetFoo and SetFoo.</p>