title: C# Cannot convert from 'ref xxx' to 'ref object'
body: <p>I defined a method using ref object as parameter. When I try to call it with a ref List, it told me can't convert from ref List to ref object.
  I have done lots of search to find a answer. However most answers are "you don't need ref here" or there are work arounds. </p>
  
  <p>It seems there is no way to convert from 'ref [Inherited]' to 'ref [Base]', even using ref (Base)[Inherited]. Don't know if I'm right.</p>
  
  <p>What I want is writing only 1 line in the set { } block to change the value and send notification. Any suggestions? </p>
  
  <pre><code>class CommonFunctions
  {
      public static void SetPropertyWithNotification(ref object OriginalValue, object NewValue, ...)
      {
          if(OriginalValue!= NewValue)
          {
              OriginalValue = NewValue;
              //Do stuff to notify property changed                
          }
      }
  }
  public class MyClass : INotifyPropertyChanged
  {
      private List&lt;string&gt; _strList = new List&lt;string&gt;();
      public List&lt;string&gt; StrList
      {
          get { return _strList; }
          set { CommonFunctions.SetPropertyWithNotification(ref _strList, value, ...);};
      }
  }
  </code></pre>