using System; using System.Collections.ObjectModel; class How { public ObservableCollection Coll { get { return coll_; } set { Console.WriteLine("Setter for Coll Called!"); coll_.Clear(); foreach (int i in value) coll_.Add(i); } } public string Field { get { return field_; } set { Console.WriteLine("Setter for field called"); field_ = value; } } // To confirm the internal coll_ is actually set public void Test() { foreach(int i in coll_) Console.Write(i + " "); } public How() { coll_ = new ObservableCollection(); field_ = ""; } private ObservableCollection coll_; private string field_; } public class Test { public static void Main() { var how = new How { Coll = { 1, 2, 3, 4, 5 }, Field = "Test Field", }; Console.Write("Coll: "); foreach (int i in how.Coll) Console.Write(i + " "); Console.WriteLine(); Console.WriteLine("Field: " + how.Field); Console.Write("Internal coll_: "); how.Test(); Console.WriteLine(); } }