title: Overloading properties in C#
body: <p>Ok, I know that property overloading is not supported in C# - most of the references explain it by citing the single-method-different-returntype problem.  However, what about setters?  I'd like to directly assign a value as either a string or object, but only return as a string.</p>
  
  <p>Like this:</p>
  
  <pre><code>    public string FieldIdList
      {
          get { return fieldIdList.ToString(); }
          set { fieldIdList = new FieldIdList(value); }
      }
  
      public FieldIdList FieldIdList 
      {
          set { fieldIdList = value; }
      }
      private FieldIdList fieldIdList;
  </code></pre>
  
  <p>Why wouldn't this be allowed?  I've also seen that "properties" simply create getter/setter functions on compile.  Would it be possible to create my own?  Something like:</p>
  
  <pre><code>    public void set_FieldIdList(FieldIdList value)
      {
          fieldIdList = value;
      }
  </code></pre>
  
  <p>That would do the same thing.  Thoughts?</p>