title: Is there a way to use Json.Net to deserialize some json which calls a method to add the items to a collection (there is no property setter)
body: <p>I have a class that has a collection which is <code>readonly</code> and has no setter.</p>
  
  <p>is there a way to de-serialize some json and get it call a method on the instance instead of the property setter?</p>
  
  <p>for example:</p>
  
  <pre><code>public class User
  {
      private ObservableCollection&lt;Movie&gt; _movies;
      public string Name { get; set; }
      public ReadOnlyCollection&lt;Movie&gt; FavouriteMovies { get; set; }
      public void AddMovie(Movie movie) { .. }
      //-or-
      public void AddMovies(IEnumberable&lt;Movie&gt; movies){ .. }
  }
  </code></pre>
  
  <p>The only way to get things into the <code>_movies</code> backing field is via the method <code>AddMovies</code>. So when trying to deserialize some valid json which has an array of Movies in the json, it will call <code>AddMovie</code> or <code>AddMovies</code>... </p>