[{"data":1,"prerenderedAt":2711},["ShallowReactive",2],{"blog:2006:observing_change_events_on_a_listt":3,"blogMore-Development":2389,"comments-observing_change_events_on_a_listt":2402},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":11,"tags":12,"excerpt":15,"body":39,"_type":2381,"_id":2382,"_source":2383,"_file":2384,"_stem":2385,"_extension":2386,"url":2387,"wordCount":2388,"minutes":171,"commentCount":305},"/blog/2006/observing_change_events_on_a_listt","2006",false,"en","Observing changes to a List\u003CT> by adding events","In an attempt to get more C# and .NET content up I’m putting up some snippets I’ve put together in response to questions on some C# user support groups. Many of them are not particularly advanced but they are useful.","2006-06-14T16:46:59+00:00","Development",[13,14],".NET","C#",{"type":16,"children":17},"root",[18,25],{"type":19,"tag":20,"props":21,"children":22},"element","p",{},[23],{"type":24,"value":9},"text",{"type":19,"tag":20,"props":26,"children":27},{},[28,30,32],{"type":24,"value":29},"GitHub has the ",{"type":24,"value":31},"latest version of ",{"type":19,"tag":33,"props":34,"children":36},"code",{"className":35},[],[37],{"type":24,"value":38},"ObservableList\u003CT>",{"type":16,"children":40,"toc":2379},[41,45,66,108,2364,2373],{"type":19,"tag":20,"props":42,"children":43},{},[44],{"type":24,"value":9},{"type":19,"tag":46,"props":47,"children":48},"blockquote",{},[49],{"type":19,"tag":20,"props":50,"children":51},{},[52,53],{"type":24,"value":29},{"type":19,"tag":54,"props":55,"children":59},"a",{"href":56,"rel":57},"https://github.com/damieng/DamienGKit/blob/master/CSharp/DamienG.Library/Collections/Generic/ObservableList.cs%22",[58],"nofollow",[60,61],{"type":24,"value":31},{"type":19,"tag":33,"props":62,"children":64},{"className":63},[],[65],{"type":24,"value":38},{"type":19,"tag":20,"props":67,"children":68},{},[69,71,77,79,84,86,91,93,98,100,106],{"type":24,"value":70},"This sample shows how to observe events on an generic ",{"type":19,"tag":33,"props":72,"children":74},{"className":73},[],[75],{"type":24,"value":76},"IList\u003CT>",{"type":24,"value":78},". It does this by way of implementing the ",{"type":19,"tag":33,"props":80,"children":82},{"className":81},[],[83],{"type":24,"value":76},{"type":24,"value":85}," interface over the top of something that already supports ",{"type":19,"tag":33,"props":87,"children":89},{"className":88},[],[90],{"type":24,"value":76},{"type":24,"value":92}," to do the actual work and highlights how useful publishing the interface, ",{"type":19,"tag":33,"props":94,"children":96},{"className":95},[],[97],{"type":24,"value":76},{"type":24,"value":99},", separate from the actual concrete class ",{"type":19,"tag":33,"props":101,"children":103},{"className":102},[],[104],{"type":24,"value":105},"List\u003CT>",{"type":24,"value":107}," can be for reuse.",{"type":19,"tag":109,"props":110,"children":115},"pre",{"className":111,"code":112,"language":113,"meta":114,"style":114},"language-csharp shiki shiki-themes everforest-light dracula","using System;\nusing System.Collections;\nusing System.Collections.Generic;\n\npublic class ObservableList\u003CT> : IList\u003CT> {\n  private IList\u003CT> internalList;\n\n  public class ListChangedEventArgs : EventArgs {\n    public int index;\n    public T item;\n    public ListChangedEventArgs(int index, T item) {\n      this.index = index;\n      this.item = item;\n    }\n  }\n\n  public delegate void ListChangedEventHandler(object source, ListChangedEventArgs e);\n  public delegate void ListClearedEventHandler(object source, EventArgs e);\n  public event ListChangedEventHandler ListChanged;\n  public event ListClearedEventHandler ListCleared;\n\n  public ObservableList() {\n    internalList = new List\u003CT>();\n  }\n\n  public ObservableList(IList\u003CT> list) {\n    internalList = list;\n  }\n\n  public ObservableList(IEnumerable\u003CT> collection) {\n    internalList = new List\u003CT>(collection);\n  }\n\n  protected virtual void OnListChanged(ListChangedEventArgs e) {\n    if (ListChanged != null)\n      ListChanged(this, e);\n  }\n\n  protected virtual void OnListCleared(EventArgs e) {\n    if (ListCleared != null)\n      ListCleared(this, e);\n  }\n\n  public int IndexOf(T item) {\n    return internalList.IndexOf(item);\n  }\n\n  public void Insert(int index, T item) {\n    internalList.Insert(index, item);\n    OnListChanged(new ListChangedEventArgs(index, item));\n  }\n\n  public void RemoveAt(int index) {\n    T item = internalList[index];\n    internalList.Remove(item);\n    OnListChanged(new ListChangedEventArgs(index, item));\n  }\n\n  public T this[int index] {\n    get { return internalList[index]; }\n    set {\n          internalList[index] = value;\n          OnListChanged(new ListChangedEventArgs(index, value));\n    }\n  }\n\n  public void Add(T item) {\n    internalList.Add(item);\n    OnListChanged(new ListChangedEventArgs(internalList.IndexOf(item), item));\n  }\n\n  public void Clear() {\n    internalList.Clear();\n    OnListCleared(new EventArgs());\n  }\n\n  public bool Contains(T item) {\n    return internalList.Contains(item);\n  }\n\n  public void CopyTo(T[] array, int arrayIndex) {\n    internalList.CopyTo(array, arrayIndex);\n  }\n\n  public int Count {\n    get { return internalList.Count; }\n  }\n\n  public bool IsReadOnly {\n    get { return internalList.IsReadOnly; }\n  }\n\n  public bool Remove(T item) {\n    lock(this) {\n      int index = internalList.IndexOf(item);\n      if (internalList.Remove(item)) {\n        OnListChanged(new ListChangedEventArgs(index, item));\n        return true;\n      }\n      else\n        return false;\n    }\n  }\n\n  public IEnumerator\u003CT> GetEnumerator() {\n    return internalList.GetEnumerator();\n  }\n\n  IEnumerator IEnumerable.GetEnumerator() {\n    return ((IEnumerable) internalList).GetEnumerator();\n  }\n}\n","csharp","",[116],{"type":19,"tag":33,"props":117,"children":118},{"__ignoreMap":114},[119,143,169,202,212,268,295,303,336,356,374,422,451,476,485,494,502,558,607,629,650,658,675,712,720,728,770,787,795,803,845,878,886,894,933,963,986,994,1002,1039,1064,1085,1093,1101,1134,1158,1166,1174,1219,1238,1265,1273,1281,1314,1342,1359,1383,1391,1399,1434,1462,1475,1498,1524,1532,1540,1548,1581,1598,1632,1640,1648,1669,1687,1714,1722,1730,1764,1785,1793,1801,1853,1871,1879,1887,1904,1934,1942,1950,1967,1996,2004,2012,2045,2066,2096,2119,2144,2162,2171,2180,2197,2205,2213,2221,2255,2275,2283,2291,2317,2347,2355],{"type":19,"tag":120,"props":121,"children":124},"span",{"class":122,"line":123},"line",1,[125,131,137],{"type":19,"tag":120,"props":126,"children":128},{"style":127},"--shiki-default:#F85552;--shiki-dark:#FF79C6",[129],{"type":24,"value":130},"using",{"type":19,"tag":120,"props":132,"children":134},{"style":133},"--shiki-default:#DF69BA;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic",[135],{"type":24,"value":136}," System",{"type":19,"tag":120,"props":138,"children":140},{"style":139},"--shiki-default:#5C6A72;--shiki-dark:#F8F8F2",[141],{"type":24,"value":142},";\n",{"type":19,"tag":120,"props":144,"children":146},{"class":122,"line":145},2,[147,151,155,160,165],{"type":19,"tag":120,"props":148,"children":149},{"style":127},[150],{"type":24,"value":130},{"type":19,"tag":120,"props":152,"children":153},{"style":133},[154],{"type":24,"value":136},{"type":19,"tag":120,"props":156,"children":157},{"style":139},[158],{"type":24,"value":159},".",{"type":19,"tag":120,"props":161,"children":162},{"style":133},[163],{"type":24,"value":164},"Collections",{"type":19,"tag":120,"props":166,"children":167},{"style":139},[168],{"type":24,"value":142},{"type":19,"tag":120,"props":170,"children":172},{"class":122,"line":171},3,[173,177,181,185,189,193,198],{"type":19,"tag":120,"props":174,"children":175},{"style":127},[176],{"type":24,"value":130},{"type":19,"tag":120,"props":178,"children":179},{"style":133},[180],{"type":24,"value":136},{"type":19,"tag":120,"props":182,"children":183},{"style":139},[184],{"type":24,"value":159},{"type":19,"tag":120,"props":186,"children":187},{"style":133},[188],{"type":24,"value":164},{"type":19,"tag":120,"props":190,"children":191},{"style":139},[192],{"type":24,"value":159},{"type":19,"tag":120,"props":194,"children":195},{"style":133},[196],{"type":24,"value":197},"Generic",{"type":19,"tag":120,"props":199,"children":200},{"style":139},[201],{"type":24,"value":142},{"type":19,"tag":120,"props":203,"children":205},{"class":122,"line":204},4,[206],{"type":19,"tag":120,"props":207,"children":209},{"emptyLinePlaceholder":208},true,[210],{"type":24,"value":211},"\n",{"type":19,"tag":120,"props":213,"children":215},{"class":122,"line":214},5,[216,222,227,233,238,244,249,255,259,263],{"type":19,"tag":120,"props":217,"children":219},{"style":218},"--shiki-default:#F57D26;--shiki-dark:#FF79C6",[220],{"type":24,"value":221},"public",{"type":19,"tag":120,"props":223,"children":224},{"style":127},[225],{"type":24,"value":226}," class",{"type":19,"tag":120,"props":228,"children":230},{"style":229},"--shiki-default:#3A94C5;--shiki-dark:#8BE9FD",[231],{"type":24,"value":232}," ObservableList",{"type":19,"tag":120,"props":234,"children":235},{"style":139},[236],{"type":24,"value":237},"\u003C",{"type":19,"tag":120,"props":239,"children":241},{"style":240},"--shiki-default:#3A94C5;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic",[242],{"type":24,"value":243},"T",{"type":19,"tag":120,"props":245,"children":246},{"style":139},[247],{"type":24,"value":248},"> : ",{"type":19,"tag":120,"props":250,"children":252},{"style":251},"--shiki-default:#3A94C5;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic",[253],{"type":24,"value":254},"IList",{"type":19,"tag":120,"props":256,"children":257},{"style":139},[258],{"type":24,"value":237},{"type":19,"tag":120,"props":260,"children":261},{"style":251},[262],{"type":24,"value":243},{"type":19,"tag":120,"props":264,"children":265},{"style":139},[266],{"type":24,"value":267},"> {\n",{"type":19,"tag":120,"props":269,"children":271},{"class":122,"line":270},6,[272,277,282,286,290],{"type":19,"tag":120,"props":273,"children":274},{"style":218},[275],{"type":24,"value":276},"  private",{"type":19,"tag":120,"props":278,"children":279},{"style":251},[280],{"type":24,"value":281}," IList",{"type":19,"tag":120,"props":283,"children":284},{"style":139},[285],{"type":24,"value":237},{"type":19,"tag":120,"props":287,"children":288},{"style":251},[289],{"type":24,"value":243},{"type":19,"tag":120,"props":291,"children":292},{"style":139},[293],{"type":24,"value":294},"> internalList;\n",{"type":19,"tag":120,"props":296,"children":298},{"class":122,"line":297},7,[299],{"type":19,"tag":120,"props":300,"children":301},{"emptyLinePlaceholder":208},[302],{"type":24,"value":211},{"type":19,"tag":120,"props":304,"children":306},{"class":122,"line":305},8,[307,312,316,321,326,331],{"type":19,"tag":120,"props":308,"children":309},{"style":218},[310],{"type":24,"value":311},"  public",{"type":19,"tag":120,"props":313,"children":314},{"style":127},[315],{"type":24,"value":226},{"type":19,"tag":120,"props":317,"children":318},{"style":229},[319],{"type":24,"value":320}," ListChangedEventArgs",{"type":19,"tag":120,"props":322,"children":323},{"style":139},[324],{"type":24,"value":325}," : ",{"type":19,"tag":120,"props":327,"children":328},{"style":251},[329],{"type":24,"value":330},"EventArgs",{"type":19,"tag":120,"props":332,"children":333},{"style":139},[334],{"type":24,"value":335}," {\n",{"type":19,"tag":120,"props":337,"children":339},{"class":122,"line":338},9,[340,345,351],{"type":19,"tag":120,"props":341,"children":342},{"style":218},[343],{"type":24,"value":344},"    public",{"type":19,"tag":120,"props":346,"children":348},{"style":347},"--shiki-default:#3A94C5;--shiki-dark:#FF79C6",[349],{"type":24,"value":350}," int",{"type":19,"tag":120,"props":352,"children":353},{"style":139},[354],{"type":24,"value":355}," index;\n",{"type":19,"tag":120,"props":357,"children":359},{"class":122,"line":358},10,[360,364,369],{"type":19,"tag":120,"props":361,"children":362},{"style":218},[363],{"type":24,"value":344},{"type":19,"tag":120,"props":365,"children":366},{"style":251},[367],{"type":24,"value":368}," T",{"type":19,"tag":120,"props":370,"children":371},{"style":139},[372],{"type":24,"value":373}," item;\n",{"type":19,"tag":120,"props":375,"children":377},{"class":122,"line":376},11,[378,382,387,392,397,403,408,412,417],{"type":19,"tag":120,"props":379,"children":380},{"style":218},[381],{"type":24,"value":344},{"type":19,"tag":120,"props":383,"children":385},{"style":384},"--shiki-default:#8DA101;--shiki-dark:#50FA7B",[386],{"type":24,"value":320},{"type":19,"tag":120,"props":388,"children":389},{"style":139},[390],{"type":24,"value":391},"(",{"type":19,"tag":120,"props":393,"children":394},{"style":347},[395],{"type":24,"value":396},"int",{"type":19,"tag":120,"props":398,"children":400},{"style":399},"--shiki-default:#5C6A72;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic",[401],{"type":24,"value":402}," index",{"type":19,"tag":120,"props":404,"children":405},{"style":139},[406],{"type":24,"value":407},", ",{"type":19,"tag":120,"props":409,"children":410},{"style":251},[411],{"type":24,"value":243},{"type":19,"tag":120,"props":413,"children":414},{"style":399},[415],{"type":24,"value":416}," item",{"type":19,"tag":120,"props":418,"children":419},{"style":139},[420],{"type":24,"value":421},") {\n",{"type":19,"tag":120,"props":423,"children":425},{"class":122,"line":424},12,[426,432,436,442,447],{"type":19,"tag":120,"props":427,"children":429},{"style":428},"--shiki-default:#DF69BA;--shiki-default-font-style:inherit;--shiki-dark:#BD93F9;--shiki-dark-font-style:italic",[430],{"type":24,"value":431},"      this",{"type":19,"tag":120,"props":433,"children":434},{"style":139},[435],{"type":24,"value":159},{"type":19,"tag":120,"props":437,"children":439},{"style":438},"--shiki-default:#35A77C;--shiki-dark:#F8F8F2",[440],{"type":24,"value":441},"index",{"type":19,"tag":120,"props":443,"children":444},{"style":218},[445],{"type":24,"value":446}," =",{"type":19,"tag":120,"props":448,"children":449},{"style":139},[450],{"type":24,"value":355},{"type":19,"tag":120,"props":452,"children":454},{"class":122,"line":453},13,[455,459,463,468,472],{"type":19,"tag":120,"props":456,"children":457},{"style":428},[458],{"type":24,"value":431},{"type":19,"tag":120,"props":460,"children":461},{"style":139},[462],{"type":24,"value":159},{"type":19,"tag":120,"props":464,"children":465},{"style":438},[466],{"type":24,"value":467},"item",{"type":19,"tag":120,"props":469,"children":470},{"style":218},[471],{"type":24,"value":446},{"type":19,"tag":120,"props":473,"children":474},{"style":139},[475],{"type":24,"value":373},{"type":19,"tag":120,"props":477,"children":479},{"class":122,"line":478},14,[480],{"type":19,"tag":120,"props":481,"children":482},{"style":139},[483],{"type":24,"value":484},"    }\n",{"type":19,"tag":120,"props":486,"children":488},{"class":122,"line":487},15,[489],{"type":19,"tag":120,"props":490,"children":491},{"style":139},[492],{"type":24,"value":493},"  }\n",{"type":19,"tag":120,"props":495,"children":497},{"class":122,"line":496},16,[498],{"type":19,"tag":120,"props":499,"children":500},{"emptyLinePlaceholder":208},[501],{"type":24,"value":211},{"type":19,"tag":120,"props":503,"children":505},{"class":122,"line":504},17,[506,510,515,520,525,529,534,539,543,548,553],{"type":19,"tag":120,"props":507,"children":508},{"style":218},[509],{"type":24,"value":311},{"type":19,"tag":120,"props":511,"children":512},{"style":347},[513],{"type":24,"value":514}," delegate",{"type":19,"tag":120,"props":516,"children":517},{"style":347},[518],{"type":24,"value":519}," void",{"type":19,"tag":120,"props":521,"children":522},{"style":251},[523],{"type":24,"value":524}," ListChangedEventHandler",{"type":19,"tag":120,"props":526,"children":527},{"style":139},[528],{"type":24,"value":391},{"type":19,"tag":120,"props":530,"children":531},{"style":347},[532],{"type":24,"value":533},"object",{"type":19,"tag":120,"props":535,"children":536},{"style":399},[537],{"type":24,"value":538}," source",{"type":19,"tag":120,"props":540,"children":541},{"style":139},[542],{"type":24,"value":407},{"type":19,"tag":120,"props":544,"children":545},{"style":251},[546],{"type":24,"value":547},"ListChangedEventArgs",{"type":19,"tag":120,"props":549,"children":550},{"style":399},[551],{"type":24,"value":552}," e",{"type":19,"tag":120,"props":554,"children":555},{"style":139},[556],{"type":24,"value":557},");\n",{"type":19,"tag":120,"props":559,"children":561},{"class":122,"line":560},18,[562,566,570,574,579,583,587,591,595,599,603],{"type":19,"tag":120,"props":563,"children":564},{"style":218},[565],{"type":24,"value":311},{"type":19,"tag":120,"props":567,"children":568},{"style":347},[569],{"type":24,"value":514},{"type":19,"tag":120,"props":571,"children":572},{"style":347},[573],{"type":24,"value":519},{"type":19,"tag":120,"props":575,"children":576},{"style":251},[577],{"type":24,"value":578}," ListClearedEventHandler",{"type":19,"tag":120,"props":580,"children":581},{"style":139},[582],{"type":24,"value":391},{"type":19,"tag":120,"props":584,"children":585},{"style":347},[586],{"type":24,"value":533},{"type":19,"tag":120,"props":588,"children":589},{"style":399},[590],{"type":24,"value":538},{"type":19,"tag":120,"props":592,"children":593},{"style":139},[594],{"type":24,"value":407},{"type":19,"tag":120,"props":596,"children":597},{"style":251},[598],{"type":24,"value":330},{"type":19,"tag":120,"props":600,"children":601},{"style":399},[602],{"type":24,"value":552},{"type":19,"tag":120,"props":604,"children":605},{"style":139},[606],{"type":24,"value":557},{"type":19,"tag":120,"props":608,"children":610},{"class":122,"line":609},19,[611,615,620,624],{"type":19,"tag":120,"props":612,"children":613},{"style":218},[614],{"type":24,"value":311},{"type":19,"tag":120,"props":616,"children":617},{"style":347},[618],{"type":24,"value":619}," event",{"type":19,"tag":120,"props":621,"children":622},{"style":251},[623],{"type":24,"value":524},{"type":19,"tag":120,"props":625,"children":626},{"style":139},[627],{"type":24,"value":628}," ListChanged;\n",{"type":19,"tag":120,"props":630,"children":632},{"class":122,"line":631},20,[633,637,641,645],{"type":19,"tag":120,"props":634,"children":635},{"style":218},[636],{"type":24,"value":311},{"type":19,"tag":120,"props":638,"children":639},{"style":347},[640],{"type":24,"value":619},{"type":19,"tag":120,"props":642,"children":643},{"style":251},[644],{"type":24,"value":578},{"type":19,"tag":120,"props":646,"children":647},{"style":139},[648],{"type":24,"value":649}," ListCleared;\n",{"type":19,"tag":120,"props":651,"children":653},{"class":122,"line":652},21,[654],{"type":19,"tag":120,"props":655,"children":656},{"emptyLinePlaceholder":208},[657],{"type":24,"value":211},{"type":19,"tag":120,"props":659,"children":661},{"class":122,"line":660},22,[662,666,670],{"type":19,"tag":120,"props":663,"children":664},{"style":218},[665],{"type":24,"value":311},{"type":19,"tag":120,"props":667,"children":668},{"style":384},[669],{"type":24,"value":232},{"type":19,"tag":120,"props":671,"children":672},{"style":139},[673],{"type":24,"value":674},"() {\n",{"type":19,"tag":120,"props":676,"children":678},{"class":122,"line":677},23,[679,684,689,694,699,703,707],{"type":19,"tag":120,"props":680,"children":681},{"style":139},[682],{"type":24,"value":683},"    internalList ",{"type":19,"tag":120,"props":685,"children":686},{"style":218},[687],{"type":24,"value":688},"=",{"type":19,"tag":120,"props":690,"children":691},{"style":127},[692],{"type":24,"value":693}," new",{"type":19,"tag":120,"props":695,"children":696},{"style":251},[697],{"type":24,"value":698}," List",{"type":19,"tag":120,"props":700,"children":701},{"style":139},[702],{"type":24,"value":237},{"type":19,"tag":120,"props":704,"children":705},{"style":251},[706],{"type":24,"value":243},{"type":19,"tag":120,"props":708,"children":709},{"style":139},[710],{"type":24,"value":711},">();\n",{"type":19,"tag":120,"props":713,"children":715},{"class":122,"line":714},24,[716],{"type":19,"tag":120,"props":717,"children":718},{"style":139},[719],{"type":24,"value":493},{"type":19,"tag":120,"props":721,"children":723},{"class":122,"line":722},25,[724],{"type":19,"tag":120,"props":725,"children":726},{"emptyLinePlaceholder":208},[727],{"type":24,"value":211},{"type":19,"tag":120,"props":729,"children":731},{"class":122,"line":730},26,[732,736,740,744,748,752,756,761,766],{"type":19,"tag":120,"props":733,"children":734},{"style":218},[735],{"type":24,"value":311},{"type":19,"tag":120,"props":737,"children":738},{"style":384},[739],{"type":24,"value":232},{"type":19,"tag":120,"props":741,"children":742},{"style":139},[743],{"type":24,"value":391},{"type":19,"tag":120,"props":745,"children":746},{"style":251},[747],{"type":24,"value":254},{"type":19,"tag":120,"props":749,"children":750},{"style":139},[751],{"type":24,"value":237},{"type":19,"tag":120,"props":753,"children":754},{"style":251},[755],{"type":24,"value":243},{"type":19,"tag":120,"props":757,"children":758},{"style":139},[759],{"type":24,"value":760},"> ",{"type":19,"tag":120,"props":762,"children":763},{"style":399},[764],{"type":24,"value":765},"list",{"type":19,"tag":120,"props":767,"children":768},{"style":139},[769],{"type":24,"value":421},{"type":19,"tag":120,"props":771,"children":773},{"class":122,"line":772},27,[774,778,782],{"type":19,"tag":120,"props":775,"children":776},{"style":139},[777],{"type":24,"value":683},{"type":19,"tag":120,"props":779,"children":780},{"style":218},[781],{"type":24,"value":688},{"type":19,"tag":120,"props":783,"children":784},{"style":139},[785],{"type":24,"value":786}," list;\n",{"type":19,"tag":120,"props":788,"children":790},{"class":122,"line":789},28,[791],{"type":19,"tag":120,"props":792,"children":793},{"style":139},[794],{"type":24,"value":493},{"type":19,"tag":120,"props":796,"children":798},{"class":122,"line":797},29,[799],{"type":19,"tag":120,"props":800,"children":801},{"emptyLinePlaceholder":208},[802],{"type":24,"value":211},{"type":19,"tag":120,"props":804,"children":806},{"class":122,"line":805},30,[807,811,815,819,824,828,832,836,841],{"type":19,"tag":120,"props":808,"children":809},{"style":218},[810],{"type":24,"value":311},{"type":19,"tag":120,"props":812,"children":813},{"style":384},[814],{"type":24,"value":232},{"type":19,"tag":120,"props":816,"children":817},{"style":139},[818],{"type":24,"value":391},{"type":19,"tag":120,"props":820,"children":821},{"style":251},[822],{"type":24,"value":823},"IEnumerable",{"type":19,"tag":120,"props":825,"children":826},{"style":139},[827],{"type":24,"value":237},{"type":19,"tag":120,"props":829,"children":830},{"style":251},[831],{"type":24,"value":243},{"type":19,"tag":120,"props":833,"children":834},{"style":139},[835],{"type":24,"value":760},{"type":19,"tag":120,"props":837,"children":838},{"style":399},[839],{"type":24,"value":840},"collection",{"type":19,"tag":120,"props":842,"children":843},{"style":139},[844],{"type":24,"value":421},{"type":19,"tag":120,"props":846,"children":848},{"class":122,"line":847},31,[849,853,857,861,865,869,873],{"type":19,"tag":120,"props":850,"children":851},{"style":139},[852],{"type":24,"value":683},{"type":19,"tag":120,"props":854,"children":855},{"style":218},[856],{"type":24,"value":688},{"type":19,"tag":120,"props":858,"children":859},{"style":127},[860],{"type":24,"value":693},{"type":19,"tag":120,"props":862,"children":863},{"style":251},[864],{"type":24,"value":698},{"type":19,"tag":120,"props":866,"children":867},{"style":139},[868],{"type":24,"value":237},{"type":19,"tag":120,"props":870,"children":871},{"style":251},[872],{"type":24,"value":243},{"type":19,"tag":120,"props":874,"children":875},{"style":139},[876],{"type":24,"value":877},">(collection);\n",{"type":19,"tag":120,"props":879,"children":881},{"class":122,"line":880},32,[882],{"type":19,"tag":120,"props":883,"children":884},{"style":139},[885],{"type":24,"value":493},{"type":19,"tag":120,"props":887,"children":889},{"class":122,"line":888},33,[890],{"type":19,"tag":120,"props":891,"children":892},{"emptyLinePlaceholder":208},[893],{"type":24,"value":211},{"type":19,"tag":120,"props":895,"children":897},{"class":122,"line":896},34,[898,903,908,912,917,921,925,929],{"type":19,"tag":120,"props":899,"children":900},{"style":218},[901],{"type":24,"value":902},"  protected",{"type":19,"tag":120,"props":904,"children":905},{"style":218},[906],{"type":24,"value":907}," virtual",{"type":19,"tag":120,"props":909,"children":910},{"style":347},[911],{"type":24,"value":519},{"type":19,"tag":120,"props":913,"children":914},{"style":384},[915],{"type":24,"value":916}," OnListChanged",{"type":19,"tag":120,"props":918,"children":919},{"style":139},[920],{"type":24,"value":391},{"type":19,"tag":120,"props":922,"children":923},{"style":251},[924],{"type":24,"value":547},{"type":19,"tag":120,"props":926,"children":927},{"style":399},[928],{"type":24,"value":552},{"type":19,"tag":120,"props":930,"children":931},{"style":139},[932],{"type":24,"value":421},{"type":19,"tag":120,"props":934,"children":936},{"class":122,"line":935},35,[937,942,947,952,958],{"type":19,"tag":120,"props":938,"children":939},{"style":127},[940],{"type":24,"value":941},"    if",{"type":19,"tag":120,"props":943,"children":944},{"style":139},[945],{"type":24,"value":946}," (ListChanged ",{"type":19,"tag":120,"props":948,"children":949},{"style":218},[950],{"type":24,"value":951},"!=",{"type":19,"tag":120,"props":953,"children":955},{"style":954},"--shiki-default:#DF69BA;--shiki-dark:#BD93F9",[956],{"type":24,"value":957}," null",{"type":19,"tag":120,"props":959,"children":960},{"style":139},[961],{"type":24,"value":962},")\n",{"type":19,"tag":120,"props":964,"children":966},{"class":122,"line":965},36,[967,972,976,981],{"type":19,"tag":120,"props":968,"children":969},{"style":384},[970],{"type":24,"value":971},"      ListChanged",{"type":19,"tag":120,"props":973,"children":974},{"style":139},[975],{"type":24,"value":391},{"type":19,"tag":120,"props":977,"children":978},{"style":428},[979],{"type":24,"value":980},"this",{"type":19,"tag":120,"props":982,"children":983},{"style":139},[984],{"type":24,"value":985},", e);\n",{"type":19,"tag":120,"props":987,"children":989},{"class":122,"line":988},37,[990],{"type":19,"tag":120,"props":991,"children":992},{"style":139},[993],{"type":24,"value":493},{"type":19,"tag":120,"props":995,"children":997},{"class":122,"line":996},38,[998],{"type":19,"tag":120,"props":999,"children":1000},{"emptyLinePlaceholder":208},[1001],{"type":24,"value":211},{"type":19,"tag":120,"props":1003,"children":1005},{"class":122,"line":1004},39,[1006,1010,1014,1018,1023,1027,1031,1035],{"type":19,"tag":120,"props":1007,"children":1008},{"style":218},[1009],{"type":24,"value":902},{"type":19,"tag":120,"props":1011,"children":1012},{"style":218},[1013],{"type":24,"value":907},{"type":19,"tag":120,"props":1015,"children":1016},{"style":347},[1017],{"type":24,"value":519},{"type":19,"tag":120,"props":1019,"children":1020},{"style":384},[1021],{"type":24,"value":1022}," OnListCleared",{"type":19,"tag":120,"props":1024,"children":1025},{"style":139},[1026],{"type":24,"value":391},{"type":19,"tag":120,"props":1028,"children":1029},{"style":251},[1030],{"type":24,"value":330},{"type":19,"tag":120,"props":1032,"children":1033},{"style":399},[1034],{"type":24,"value":552},{"type":19,"tag":120,"props":1036,"children":1037},{"style":139},[1038],{"type":24,"value":421},{"type":19,"tag":120,"props":1040,"children":1042},{"class":122,"line":1041},40,[1043,1047,1052,1056,1060],{"type":19,"tag":120,"props":1044,"children":1045},{"style":127},[1046],{"type":24,"value":941},{"type":19,"tag":120,"props":1048,"children":1049},{"style":139},[1050],{"type":24,"value":1051}," (ListCleared ",{"type":19,"tag":120,"props":1053,"children":1054},{"style":218},[1055],{"type":24,"value":951},{"type":19,"tag":120,"props":1057,"children":1058},{"style":954},[1059],{"type":24,"value":957},{"type":19,"tag":120,"props":1061,"children":1062},{"style":139},[1063],{"type":24,"value":962},{"type":19,"tag":120,"props":1065,"children":1067},{"class":122,"line":1066},41,[1068,1073,1077,1081],{"type":19,"tag":120,"props":1069,"children":1070},{"style":384},[1071],{"type":24,"value":1072},"      ListCleared",{"type":19,"tag":120,"props":1074,"children":1075},{"style":139},[1076],{"type":24,"value":391},{"type":19,"tag":120,"props":1078,"children":1079},{"style":428},[1080],{"type":24,"value":980},{"type":19,"tag":120,"props":1082,"children":1083},{"style":139},[1084],{"type":24,"value":985},{"type":19,"tag":120,"props":1086,"children":1088},{"class":122,"line":1087},42,[1089],{"type":19,"tag":120,"props":1090,"children":1091},{"style":139},[1092],{"type":24,"value":493},{"type":19,"tag":120,"props":1094,"children":1096},{"class":122,"line":1095},43,[1097],{"type":19,"tag":120,"props":1098,"children":1099},{"emptyLinePlaceholder":208},[1100],{"type":24,"value":211},{"type":19,"tag":120,"props":1102,"children":1104},{"class":122,"line":1103},44,[1105,1109,1113,1118,1122,1126,1130],{"type":19,"tag":120,"props":1106,"children":1107},{"style":218},[1108],{"type":24,"value":311},{"type":19,"tag":120,"props":1110,"children":1111},{"style":347},[1112],{"type":24,"value":350},{"type":19,"tag":120,"props":1114,"children":1115},{"style":384},[1116],{"type":24,"value":1117}," IndexOf",{"type":19,"tag":120,"props":1119,"children":1120},{"style":139},[1121],{"type":24,"value":391},{"type":19,"tag":120,"props":1123,"children":1124},{"style":251},[1125],{"type":24,"value":243},{"type":19,"tag":120,"props":1127,"children":1128},{"style":399},[1129],{"type":24,"value":416},{"type":19,"tag":120,"props":1131,"children":1132},{"style":139},[1133],{"type":24,"value":421},{"type":19,"tag":120,"props":1135,"children":1137},{"class":122,"line":1136},45,[1138,1143,1148,1153],{"type":19,"tag":120,"props":1139,"children":1140},{"style":127},[1141],{"type":24,"value":1142},"    return",{"type":19,"tag":120,"props":1144,"children":1145},{"style":139},[1146],{"type":24,"value":1147}," internalList.",{"type":19,"tag":120,"props":1149,"children":1150},{"style":384},[1151],{"type":24,"value":1152},"IndexOf",{"type":19,"tag":120,"props":1154,"children":1155},{"style":139},[1156],{"type":24,"value":1157},"(item);\n",{"type":19,"tag":120,"props":1159,"children":1161},{"class":122,"line":1160},46,[1162],{"type":19,"tag":120,"props":1163,"children":1164},{"style":139},[1165],{"type":24,"value":493},{"type":19,"tag":120,"props":1167,"children":1169},{"class":122,"line":1168},47,[1170],{"type":19,"tag":120,"props":1171,"children":1172},{"emptyLinePlaceholder":208},[1173],{"type":24,"value":211},{"type":19,"tag":120,"props":1175,"children":1177},{"class":122,"line":1176},48,[1178,1182,1186,1191,1195,1199,1203,1207,1211,1215],{"type":19,"tag":120,"props":1179,"children":1180},{"style":218},[1181],{"type":24,"value":311},{"type":19,"tag":120,"props":1183,"children":1184},{"style":347},[1185],{"type":24,"value":519},{"type":19,"tag":120,"props":1187,"children":1188},{"style":384},[1189],{"type":24,"value":1190}," Insert",{"type":19,"tag":120,"props":1192,"children":1193},{"style":139},[1194],{"type":24,"value":391},{"type":19,"tag":120,"props":1196,"children":1197},{"style":347},[1198],{"type":24,"value":396},{"type":19,"tag":120,"props":1200,"children":1201},{"style":399},[1202],{"type":24,"value":402},{"type":19,"tag":120,"props":1204,"children":1205},{"style":139},[1206],{"type":24,"value":407},{"type":19,"tag":120,"props":1208,"children":1209},{"style":251},[1210],{"type":24,"value":243},{"type":19,"tag":120,"props":1212,"children":1213},{"style":399},[1214],{"type":24,"value":416},{"type":19,"tag":120,"props":1216,"children":1217},{"style":139},[1218],{"type":24,"value":421},{"type":19,"tag":120,"props":1220,"children":1222},{"class":122,"line":1221},49,[1223,1228,1233],{"type":19,"tag":120,"props":1224,"children":1225},{"style":139},[1226],{"type":24,"value":1227},"    internalList.",{"type":19,"tag":120,"props":1229,"children":1230},{"style":384},[1231],{"type":24,"value":1232},"Insert",{"type":19,"tag":120,"props":1234,"children":1235},{"style":139},[1236],{"type":24,"value":1237},"(index, item);\n",{"type":19,"tag":120,"props":1239,"children":1241},{"class":122,"line":1240},50,[1242,1247,1251,1256,1260],{"type":19,"tag":120,"props":1243,"children":1244},{"style":384},[1245],{"type":24,"value":1246},"    OnListChanged",{"type":19,"tag":120,"props":1248,"children":1249},{"style":139},[1250],{"type":24,"value":391},{"type":19,"tag":120,"props":1252,"children":1253},{"style":127},[1254],{"type":24,"value":1255},"new",{"type":19,"tag":120,"props":1257,"children":1258},{"style":251},[1259],{"type":24,"value":320},{"type":19,"tag":120,"props":1261,"children":1262},{"style":139},[1263],{"type":24,"value":1264},"(index, item));\n",{"type":19,"tag":120,"props":1266,"children":1268},{"class":122,"line":1267},51,[1269],{"type":19,"tag":120,"props":1270,"children":1271},{"style":139},[1272],{"type":24,"value":493},{"type":19,"tag":120,"props":1274,"children":1276},{"class":122,"line":1275},52,[1277],{"type":19,"tag":120,"props":1278,"children":1279},{"emptyLinePlaceholder":208},[1280],{"type":24,"value":211},{"type":19,"tag":120,"props":1282,"children":1284},{"class":122,"line":1283},53,[1285,1289,1293,1298,1302,1306,1310],{"type":19,"tag":120,"props":1286,"children":1287},{"style":218},[1288],{"type":24,"value":311},{"type":19,"tag":120,"props":1290,"children":1291},{"style":347},[1292],{"type":24,"value":519},{"type":19,"tag":120,"props":1294,"children":1295},{"style":384},[1296],{"type":24,"value":1297}," RemoveAt",{"type":19,"tag":120,"props":1299,"children":1300},{"style":139},[1301],{"type":24,"value":391},{"type":19,"tag":120,"props":1303,"children":1304},{"style":347},[1305],{"type":24,"value":396},{"type":19,"tag":120,"props":1307,"children":1308},{"style":399},[1309],{"type":24,"value":402},{"type":19,"tag":120,"props":1311,"children":1312},{"style":139},[1313],{"type":24,"value":421},{"type":19,"tag":120,"props":1315,"children":1317},{"class":122,"line":1316},54,[1318,1323,1328,1332,1337],{"type":19,"tag":120,"props":1319,"children":1320},{"style":251},[1321],{"type":24,"value":1322},"    T",{"type":19,"tag":120,"props":1324,"children":1325},{"style":139},[1326],{"type":24,"value":1327}," item ",{"type":19,"tag":120,"props":1329,"children":1330},{"style":218},[1331],{"type":24,"value":688},{"type":19,"tag":120,"props":1333,"children":1334},{"style":438},[1335],{"type":24,"value":1336}," internalList",{"type":19,"tag":120,"props":1338,"children":1339},{"style":139},[1340],{"type":24,"value":1341},"[index];\n",{"type":19,"tag":120,"props":1343,"children":1345},{"class":122,"line":1344},55,[1346,1350,1355],{"type":19,"tag":120,"props":1347,"children":1348},{"style":139},[1349],{"type":24,"value":1227},{"type":19,"tag":120,"props":1351,"children":1352},{"style":384},[1353],{"type":24,"value":1354},"Remove",{"type":19,"tag":120,"props":1356,"children":1357},{"style":139},[1358],{"type":24,"value":1157},{"type":19,"tag":120,"props":1360,"children":1362},{"class":122,"line":1361},56,[1363,1367,1371,1375,1379],{"type":19,"tag":120,"props":1364,"children":1365},{"style":384},[1366],{"type":24,"value":1246},{"type":19,"tag":120,"props":1368,"children":1369},{"style":139},[1370],{"type":24,"value":391},{"type":19,"tag":120,"props":1372,"children":1373},{"style":127},[1374],{"type":24,"value":1255},{"type":19,"tag":120,"props":1376,"children":1377},{"style":251},[1378],{"type":24,"value":320},{"type":19,"tag":120,"props":1380,"children":1381},{"style":139},[1382],{"type":24,"value":1264},{"type":19,"tag":120,"props":1384,"children":1386},{"class":122,"line":1385},57,[1387],{"type":19,"tag":120,"props":1388,"children":1389},{"style":139},[1390],{"type":24,"value":493},{"type":19,"tag":120,"props":1392,"children":1394},{"class":122,"line":1393},58,[1395],{"type":19,"tag":120,"props":1396,"children":1397},{"emptyLinePlaceholder":208},[1398],{"type":24,"value":211},{"type":19,"tag":120,"props":1400,"children":1402},{"class":122,"line":1401},59,[1403,1407,1411,1416,1421,1425,1429],{"type":19,"tag":120,"props":1404,"children":1405},{"style":218},[1406],{"type":24,"value":311},{"type":19,"tag":120,"props":1408,"children":1409},{"style":251},[1410],{"type":24,"value":368},{"type":19,"tag":120,"props":1412,"children":1413},{"style":428},[1414],{"type":24,"value":1415}," this",{"type":19,"tag":120,"props":1417,"children":1418},{"style":139},[1419],{"type":24,"value":1420},"[",{"type":19,"tag":120,"props":1422,"children":1423},{"style":347},[1424],{"type":24,"value":396},{"type":19,"tag":120,"props":1426,"children":1427},{"style":399},[1428],{"type":24,"value":402},{"type":19,"tag":120,"props":1430,"children":1431},{"style":139},[1432],{"type":24,"value":1433},"] {\n",{"type":19,"tag":120,"props":1435,"children":1437},{"class":122,"line":1436},60,[1438,1443,1448,1453,1457],{"type":19,"tag":120,"props":1439,"children":1440},{"style":347},[1441],{"type":24,"value":1442},"    get",{"type":19,"tag":120,"props":1444,"children":1445},{"style":139},[1446],{"type":24,"value":1447}," { ",{"type":19,"tag":120,"props":1449,"children":1450},{"style":127},[1451],{"type":24,"value":1452},"return",{"type":19,"tag":120,"props":1454,"children":1455},{"style":438},[1456],{"type":24,"value":1336},{"type":19,"tag":120,"props":1458,"children":1459},{"style":139},[1460],{"type":24,"value":1461},"[index]; }\n",{"type":19,"tag":120,"props":1463,"children":1465},{"class":122,"line":1464},61,[1466,1471],{"type":19,"tag":120,"props":1467,"children":1468},{"style":347},[1469],{"type":24,"value":1470},"    set",{"type":19,"tag":120,"props":1472,"children":1473},{"style":139},[1474],{"type":24,"value":335},{"type":19,"tag":120,"props":1476,"children":1478},{"class":122,"line":1477},62,[1479,1484,1489,1493],{"type":19,"tag":120,"props":1480,"children":1481},{"style":438},[1482],{"type":24,"value":1483},"          internalList",{"type":19,"tag":120,"props":1485,"children":1486},{"style":139},[1487],{"type":24,"value":1488},"[index] ",{"type":19,"tag":120,"props":1490,"children":1491},{"style":218},[1492],{"type":24,"value":688},{"type":19,"tag":120,"props":1494,"children":1495},{"style":139},[1496],{"type":24,"value":1497}," value;\n",{"type":19,"tag":120,"props":1499,"children":1501},{"class":122,"line":1500},63,[1502,1507,1511,1515,1519],{"type":19,"tag":120,"props":1503,"children":1504},{"style":384},[1505],{"type":24,"value":1506},"          OnListChanged",{"type":19,"tag":120,"props":1508,"children":1509},{"style":139},[1510],{"type":24,"value":391},{"type":19,"tag":120,"props":1512,"children":1513},{"style":127},[1514],{"type":24,"value":1255},{"type":19,"tag":120,"props":1516,"children":1517},{"style":251},[1518],{"type":24,"value":320},{"type":19,"tag":120,"props":1520,"children":1521},{"style":139},[1522],{"type":24,"value":1523},"(index, value));\n",{"type":19,"tag":120,"props":1525,"children":1527},{"class":122,"line":1526},64,[1528],{"type":19,"tag":120,"props":1529,"children":1530},{"style":139},[1531],{"type":24,"value":484},{"type":19,"tag":120,"props":1533,"children":1535},{"class":122,"line":1534},65,[1536],{"type":19,"tag":120,"props":1537,"children":1538},{"style":139},[1539],{"type":24,"value":493},{"type":19,"tag":120,"props":1541,"children":1543},{"class":122,"line":1542},66,[1544],{"type":19,"tag":120,"props":1545,"children":1546},{"emptyLinePlaceholder":208},[1547],{"type":24,"value":211},{"type":19,"tag":120,"props":1549,"children":1551},{"class":122,"line":1550},67,[1552,1556,1560,1565,1569,1573,1577],{"type":19,"tag":120,"props":1553,"children":1554},{"style":218},[1555],{"type":24,"value":311},{"type":19,"tag":120,"props":1557,"children":1558},{"style":347},[1559],{"type":24,"value":519},{"type":19,"tag":120,"props":1561,"children":1562},{"style":384},[1563],{"type":24,"value":1564}," Add",{"type":19,"tag":120,"props":1566,"children":1567},{"style":139},[1568],{"type":24,"value":391},{"type":19,"tag":120,"props":1570,"children":1571},{"style":251},[1572],{"type":24,"value":243},{"type":19,"tag":120,"props":1574,"children":1575},{"style":399},[1576],{"type":24,"value":416},{"type":19,"tag":120,"props":1578,"children":1579},{"style":139},[1580],{"type":24,"value":421},{"type":19,"tag":120,"props":1582,"children":1584},{"class":122,"line":1583},68,[1585,1589,1594],{"type":19,"tag":120,"props":1586,"children":1587},{"style":139},[1588],{"type":24,"value":1227},{"type":19,"tag":120,"props":1590,"children":1591},{"style":384},[1592],{"type":24,"value":1593},"Add",{"type":19,"tag":120,"props":1595,"children":1596},{"style":139},[1597],{"type":24,"value":1157},{"type":19,"tag":120,"props":1599,"children":1601},{"class":122,"line":1600},69,[1602,1606,1610,1614,1618,1623,1627],{"type":19,"tag":120,"props":1603,"children":1604},{"style":384},[1605],{"type":24,"value":1246},{"type":19,"tag":120,"props":1607,"children":1608},{"style":139},[1609],{"type":24,"value":391},{"type":19,"tag":120,"props":1611,"children":1612},{"style":127},[1613],{"type":24,"value":1255},{"type":19,"tag":120,"props":1615,"children":1616},{"style":251},[1617],{"type":24,"value":320},{"type":19,"tag":120,"props":1619,"children":1620},{"style":139},[1621],{"type":24,"value":1622},"(internalList.",{"type":19,"tag":120,"props":1624,"children":1625},{"style":384},[1626],{"type":24,"value":1152},{"type":19,"tag":120,"props":1628,"children":1629},{"style":139},[1630],{"type":24,"value":1631},"(item), item));\n",{"type":19,"tag":120,"props":1633,"children":1635},{"class":122,"line":1634},70,[1636],{"type":19,"tag":120,"props":1637,"children":1638},{"style":139},[1639],{"type":24,"value":493},{"type":19,"tag":120,"props":1641,"children":1643},{"class":122,"line":1642},71,[1644],{"type":19,"tag":120,"props":1645,"children":1646},{"emptyLinePlaceholder":208},[1647],{"type":24,"value":211},{"type":19,"tag":120,"props":1649,"children":1651},{"class":122,"line":1650},72,[1652,1656,1660,1665],{"type":19,"tag":120,"props":1653,"children":1654},{"style":218},[1655],{"type":24,"value":311},{"type":19,"tag":120,"props":1657,"children":1658},{"style":347},[1659],{"type":24,"value":519},{"type":19,"tag":120,"props":1661,"children":1662},{"style":384},[1663],{"type":24,"value":1664}," Clear",{"type":19,"tag":120,"props":1666,"children":1667},{"style":139},[1668],{"type":24,"value":674},{"type":19,"tag":120,"props":1670,"children":1672},{"class":122,"line":1671},73,[1673,1677,1682],{"type":19,"tag":120,"props":1674,"children":1675},{"style":139},[1676],{"type":24,"value":1227},{"type":19,"tag":120,"props":1678,"children":1679},{"style":384},[1680],{"type":24,"value":1681},"Clear",{"type":19,"tag":120,"props":1683,"children":1684},{"style":139},[1685],{"type":24,"value":1686},"();\n",{"type":19,"tag":120,"props":1688,"children":1690},{"class":122,"line":1689},74,[1691,1696,1700,1704,1709],{"type":19,"tag":120,"props":1692,"children":1693},{"style":384},[1694],{"type":24,"value":1695},"    OnListCleared",{"type":19,"tag":120,"props":1697,"children":1698},{"style":139},[1699],{"type":24,"value":391},{"type":19,"tag":120,"props":1701,"children":1702},{"style":127},[1703],{"type":24,"value":1255},{"type":19,"tag":120,"props":1705,"children":1706},{"style":251},[1707],{"type":24,"value":1708}," EventArgs",{"type":19,"tag":120,"props":1710,"children":1711},{"style":139},[1712],{"type":24,"value":1713},"());\n",{"type":19,"tag":120,"props":1715,"children":1717},{"class":122,"line":1716},75,[1718],{"type":19,"tag":120,"props":1719,"children":1720},{"style":139},[1721],{"type":24,"value":493},{"type":19,"tag":120,"props":1723,"children":1725},{"class":122,"line":1724},76,[1726],{"type":19,"tag":120,"props":1727,"children":1728},{"emptyLinePlaceholder":208},[1729],{"type":24,"value":211},{"type":19,"tag":120,"props":1731,"children":1733},{"class":122,"line":1732},77,[1734,1738,1743,1748,1752,1756,1760],{"type":19,"tag":120,"props":1735,"children":1736},{"style":218},[1737],{"type":24,"value":311},{"type":19,"tag":120,"props":1739,"children":1740},{"style":347},[1741],{"type":24,"value":1742}," bool",{"type":19,"tag":120,"props":1744,"children":1745},{"style":384},[1746],{"type":24,"value":1747}," Contains",{"type":19,"tag":120,"props":1749,"children":1750},{"style":139},[1751],{"type":24,"value":391},{"type":19,"tag":120,"props":1753,"children":1754},{"style":251},[1755],{"type":24,"value":243},{"type":19,"tag":120,"props":1757,"children":1758},{"style":399},[1759],{"type":24,"value":416},{"type":19,"tag":120,"props":1761,"children":1762},{"style":139},[1763],{"type":24,"value":421},{"type":19,"tag":120,"props":1765,"children":1767},{"class":122,"line":1766},78,[1768,1772,1776,1781],{"type":19,"tag":120,"props":1769,"children":1770},{"style":127},[1771],{"type":24,"value":1142},{"type":19,"tag":120,"props":1773,"children":1774},{"style":139},[1775],{"type":24,"value":1147},{"type":19,"tag":120,"props":1777,"children":1778},{"style":384},[1779],{"type":24,"value":1780},"Contains",{"type":19,"tag":120,"props":1782,"children":1783},{"style":139},[1784],{"type":24,"value":1157},{"type":19,"tag":120,"props":1786,"children":1788},{"class":122,"line":1787},79,[1789],{"type":19,"tag":120,"props":1790,"children":1791},{"style":139},[1792],{"type":24,"value":493},{"type":19,"tag":120,"props":1794,"children":1796},{"class":122,"line":1795},80,[1797],{"type":19,"tag":120,"props":1798,"children":1799},{"emptyLinePlaceholder":208},[1800],{"type":24,"value":211},{"type":19,"tag":120,"props":1802,"children":1804},{"class":122,"line":1803},81,[1805,1809,1813,1818,1822,1826,1831,1836,1840,1844,1849],{"type":19,"tag":120,"props":1806,"children":1807},{"style":218},[1808],{"type":24,"value":311},{"type":19,"tag":120,"props":1810,"children":1811},{"style":347},[1812],{"type":24,"value":519},{"type":19,"tag":120,"props":1814,"children":1815},{"style":384},[1816],{"type":24,"value":1817}," CopyTo",{"type":19,"tag":120,"props":1819,"children":1820},{"style":139},[1821],{"type":24,"value":391},{"type":19,"tag":120,"props":1823,"children":1824},{"style":251},[1825],{"type":24,"value":243},{"type":19,"tag":120,"props":1827,"children":1828},{"style":139},[1829],{"type":24,"value":1830},"[] ",{"type":19,"tag":120,"props":1832,"children":1833},{"style":399},[1834],{"type":24,"value":1835},"array",{"type":19,"tag":120,"props":1837,"children":1838},{"style":139},[1839],{"type":24,"value":407},{"type":19,"tag":120,"props":1841,"children":1842},{"style":347},[1843],{"type":24,"value":396},{"type":19,"tag":120,"props":1845,"children":1846},{"style":399},[1847],{"type":24,"value":1848}," arrayIndex",{"type":19,"tag":120,"props":1850,"children":1851},{"style":139},[1852],{"type":24,"value":421},{"type":19,"tag":120,"props":1854,"children":1856},{"class":122,"line":1855},82,[1857,1861,1866],{"type":19,"tag":120,"props":1858,"children":1859},{"style":139},[1860],{"type":24,"value":1227},{"type":19,"tag":120,"props":1862,"children":1863},{"style":384},[1864],{"type":24,"value":1865},"CopyTo",{"type":19,"tag":120,"props":1867,"children":1868},{"style":139},[1869],{"type":24,"value":1870},"(array, arrayIndex);\n",{"type":19,"tag":120,"props":1872,"children":1874},{"class":122,"line":1873},83,[1875],{"type":19,"tag":120,"props":1876,"children":1877},{"style":139},[1878],{"type":24,"value":493},{"type":19,"tag":120,"props":1880,"children":1882},{"class":122,"line":1881},84,[1883],{"type":19,"tag":120,"props":1884,"children":1885},{"emptyLinePlaceholder":208},[1886],{"type":24,"value":211},{"type":19,"tag":120,"props":1888,"children":1890},{"class":122,"line":1889},85,[1891,1895,1899],{"type":19,"tag":120,"props":1892,"children":1893},{"style":218},[1894],{"type":24,"value":311},{"type":19,"tag":120,"props":1896,"children":1897},{"style":347},[1898],{"type":24,"value":350},{"type":19,"tag":120,"props":1900,"children":1901},{"style":139},[1902],{"type":24,"value":1903}," Count {\n",{"type":19,"tag":120,"props":1905,"children":1907},{"class":122,"line":1906},86,[1908,1912,1916,1920,1924,1929],{"type":19,"tag":120,"props":1909,"children":1910},{"style":347},[1911],{"type":24,"value":1442},{"type":19,"tag":120,"props":1913,"children":1914},{"style":139},[1915],{"type":24,"value":1447},{"type":19,"tag":120,"props":1917,"children":1918},{"style":127},[1919],{"type":24,"value":1452},{"type":19,"tag":120,"props":1921,"children":1922},{"style":139},[1923],{"type":24,"value":1147},{"type":19,"tag":120,"props":1925,"children":1926},{"style":438},[1927],{"type":24,"value":1928},"Count",{"type":19,"tag":120,"props":1930,"children":1931},{"style":139},[1932],{"type":24,"value":1933},"; }\n",{"type":19,"tag":120,"props":1935,"children":1937},{"class":122,"line":1936},87,[1938],{"type":19,"tag":120,"props":1939,"children":1940},{"style":139},[1941],{"type":24,"value":493},{"type":19,"tag":120,"props":1943,"children":1945},{"class":122,"line":1944},88,[1946],{"type":19,"tag":120,"props":1947,"children":1948},{"emptyLinePlaceholder":208},[1949],{"type":24,"value":211},{"type":19,"tag":120,"props":1951,"children":1953},{"class":122,"line":1952},89,[1954,1958,1962],{"type":19,"tag":120,"props":1955,"children":1956},{"style":218},[1957],{"type":24,"value":311},{"type":19,"tag":120,"props":1959,"children":1960},{"style":347},[1961],{"type":24,"value":1742},{"type":19,"tag":120,"props":1963,"children":1964},{"style":139},[1965],{"type":24,"value":1966}," IsReadOnly {\n",{"type":19,"tag":120,"props":1968,"children":1970},{"class":122,"line":1969},90,[1971,1975,1979,1983,1987,1992],{"type":19,"tag":120,"props":1972,"children":1973},{"style":347},[1974],{"type":24,"value":1442},{"type":19,"tag":120,"props":1976,"children":1977},{"style":139},[1978],{"type":24,"value":1447},{"type":19,"tag":120,"props":1980,"children":1981},{"style":127},[1982],{"type":24,"value":1452},{"type":19,"tag":120,"props":1984,"children":1985},{"style":139},[1986],{"type":24,"value":1147},{"type":19,"tag":120,"props":1988,"children":1989},{"style":438},[1990],{"type":24,"value":1991},"IsReadOnly",{"type":19,"tag":120,"props":1993,"children":1994},{"style":139},[1995],{"type":24,"value":1933},{"type":19,"tag":120,"props":1997,"children":1999},{"class":122,"line":1998},91,[2000],{"type":19,"tag":120,"props":2001,"children":2002},{"style":139},[2003],{"type":24,"value":493},{"type":19,"tag":120,"props":2005,"children":2007},{"class":122,"line":2006},92,[2008],{"type":19,"tag":120,"props":2009,"children":2010},{"emptyLinePlaceholder":208},[2011],{"type":24,"value":211},{"type":19,"tag":120,"props":2013,"children":2015},{"class":122,"line":2014},93,[2016,2020,2024,2029,2033,2037,2041],{"type":19,"tag":120,"props":2017,"children":2018},{"style":218},[2019],{"type":24,"value":311},{"type":19,"tag":120,"props":2021,"children":2022},{"style":347},[2023],{"type":24,"value":1742},{"type":19,"tag":120,"props":2025,"children":2026},{"style":384},[2027],{"type":24,"value":2028}," Remove",{"type":19,"tag":120,"props":2030,"children":2031},{"style":139},[2032],{"type":24,"value":391},{"type":19,"tag":120,"props":2034,"children":2035},{"style":251},[2036],{"type":24,"value":243},{"type":19,"tag":120,"props":2038,"children":2039},{"style":399},[2040],{"type":24,"value":416},{"type":19,"tag":120,"props":2042,"children":2043},{"style":139},[2044],{"type":24,"value":421},{"type":19,"tag":120,"props":2046,"children":2048},{"class":122,"line":2047},94,[2049,2054,2058,2062],{"type":19,"tag":120,"props":2050,"children":2051},{"style":127},[2052],{"type":24,"value":2053},"    lock",{"type":19,"tag":120,"props":2055,"children":2056},{"style":139},[2057],{"type":24,"value":391},{"type":19,"tag":120,"props":2059,"children":2060},{"style":428},[2061],{"type":24,"value":980},{"type":19,"tag":120,"props":2063,"children":2064},{"style":139},[2065],{"type":24,"value":421},{"type":19,"tag":120,"props":2067,"children":2069},{"class":122,"line":2068},95,[2070,2075,2080,2084,2088,2092],{"type":19,"tag":120,"props":2071,"children":2072},{"style":347},[2073],{"type":24,"value":2074},"      int",{"type":19,"tag":120,"props":2076,"children":2077},{"style":139},[2078],{"type":24,"value":2079}," index ",{"type":19,"tag":120,"props":2081,"children":2082},{"style":218},[2083],{"type":24,"value":688},{"type":19,"tag":120,"props":2085,"children":2086},{"style":139},[2087],{"type":24,"value":1147},{"type":19,"tag":120,"props":2089,"children":2090},{"style":384},[2091],{"type":24,"value":1152},{"type":19,"tag":120,"props":2093,"children":2094},{"style":139},[2095],{"type":24,"value":1157},{"type":19,"tag":120,"props":2097,"children":2099},{"class":122,"line":2098},96,[2100,2105,2110,2114],{"type":19,"tag":120,"props":2101,"children":2102},{"style":127},[2103],{"type":24,"value":2104},"      if",{"type":19,"tag":120,"props":2106,"children":2107},{"style":139},[2108],{"type":24,"value":2109}," (internalList.",{"type":19,"tag":120,"props":2111,"children":2112},{"style":384},[2113],{"type":24,"value":1354},{"type":19,"tag":120,"props":2115,"children":2116},{"style":139},[2117],{"type":24,"value":2118},"(item)) {\n",{"type":19,"tag":120,"props":2120,"children":2122},{"class":122,"line":2121},97,[2123,2128,2132,2136,2140],{"type":19,"tag":120,"props":2124,"children":2125},{"style":384},[2126],{"type":24,"value":2127},"        OnListChanged",{"type":19,"tag":120,"props":2129,"children":2130},{"style":139},[2131],{"type":24,"value":391},{"type":19,"tag":120,"props":2133,"children":2134},{"style":127},[2135],{"type":24,"value":1255},{"type":19,"tag":120,"props":2137,"children":2138},{"style":251},[2139],{"type":24,"value":320},{"type":19,"tag":120,"props":2141,"children":2142},{"style":139},[2143],{"type":24,"value":1264},{"type":19,"tag":120,"props":2145,"children":2147},{"class":122,"line":2146},98,[2148,2153,2158],{"type":19,"tag":120,"props":2149,"children":2150},{"style":127},[2151],{"type":24,"value":2152},"        return",{"type":19,"tag":120,"props":2154,"children":2155},{"style":954},[2156],{"type":24,"value":2157}," true",{"type":19,"tag":120,"props":2159,"children":2160},{"style":139},[2161],{"type":24,"value":142},{"type":19,"tag":120,"props":2163,"children":2165},{"class":122,"line":2164},99,[2166],{"type":19,"tag":120,"props":2167,"children":2168},{"style":139},[2169],{"type":24,"value":2170},"      }\n",{"type":19,"tag":120,"props":2172,"children":2174},{"class":122,"line":2173},100,[2175],{"type":19,"tag":120,"props":2176,"children":2177},{"style":127},[2178],{"type":24,"value":2179},"      else\n",{"type":19,"tag":120,"props":2181,"children":2183},{"class":122,"line":2182},101,[2184,2188,2193],{"type":19,"tag":120,"props":2185,"children":2186},{"style":127},[2187],{"type":24,"value":2152},{"type":19,"tag":120,"props":2189,"children":2190},{"style":954},[2191],{"type":24,"value":2192}," false",{"type":19,"tag":120,"props":2194,"children":2195},{"style":139},[2196],{"type":24,"value":142},{"type":19,"tag":120,"props":2198,"children":2200},{"class":122,"line":2199},102,[2201],{"type":19,"tag":120,"props":2202,"children":2203},{"style":139},[2204],{"type":24,"value":484},{"type":19,"tag":120,"props":2206,"children":2208},{"class":122,"line":2207},103,[2209],{"type":19,"tag":120,"props":2210,"children":2211},{"style":139},[2212],{"type":24,"value":493},{"type":19,"tag":120,"props":2214,"children":2216},{"class":122,"line":2215},104,[2217],{"type":19,"tag":120,"props":2218,"children":2219},{"emptyLinePlaceholder":208},[2220],{"type":24,"value":211},{"type":19,"tag":120,"props":2222,"children":2224},{"class":122,"line":2223},105,[2225,2229,2234,2238,2242,2246,2251],{"type":19,"tag":120,"props":2226,"children":2227},{"style":218},[2228],{"type":24,"value":311},{"type":19,"tag":120,"props":2230,"children":2231},{"style":251},[2232],{"type":24,"value":2233}," IEnumerator",{"type":19,"tag":120,"props":2235,"children":2236},{"style":139},[2237],{"type":24,"value":237},{"type":19,"tag":120,"props":2239,"children":2240},{"style":251},[2241],{"type":24,"value":243},{"type":19,"tag":120,"props":2243,"children":2244},{"style":139},[2245],{"type":24,"value":760},{"type":19,"tag":120,"props":2247,"children":2248},{"style":384},[2249],{"type":24,"value":2250},"GetEnumerator",{"type":19,"tag":120,"props":2252,"children":2253},{"style":139},[2254],{"type":24,"value":674},{"type":19,"tag":120,"props":2256,"children":2258},{"class":122,"line":2257},106,[2259,2263,2267,2271],{"type":19,"tag":120,"props":2260,"children":2261},{"style":127},[2262],{"type":24,"value":1142},{"type":19,"tag":120,"props":2264,"children":2265},{"style":139},[2266],{"type":24,"value":1147},{"type":19,"tag":120,"props":2268,"children":2269},{"style":384},[2270],{"type":24,"value":2250},{"type":19,"tag":120,"props":2272,"children":2273},{"style":139},[2274],{"type":24,"value":1686},{"type":19,"tag":120,"props":2276,"children":2278},{"class":122,"line":2277},107,[2279],{"type":19,"tag":120,"props":2280,"children":2281},{"style":139},[2282],{"type":24,"value":493},{"type":19,"tag":120,"props":2284,"children":2286},{"class":122,"line":2285},108,[2287],{"type":19,"tag":120,"props":2288,"children":2289},{"emptyLinePlaceholder":208},[2290],{"type":24,"value":211},{"type":19,"tag":120,"props":2292,"children":2294},{"class":122,"line":2293},109,[2295,2300,2305,2309,2313],{"type":19,"tag":120,"props":2296,"children":2297},{"style":251},[2298],{"type":24,"value":2299},"  IEnumerator",{"type":19,"tag":120,"props":2301,"children":2302},{"style":251},[2303],{"type":24,"value":2304}," IEnumerable",{"type":19,"tag":120,"props":2306,"children":2307},{"style":139},[2308],{"type":24,"value":159},{"type":19,"tag":120,"props":2310,"children":2311},{"style":384},[2312],{"type":24,"value":2250},{"type":19,"tag":120,"props":2314,"children":2315},{"style":139},[2316],{"type":24,"value":674},{"type":19,"tag":120,"props":2318,"children":2320},{"class":122,"line":2319},110,[2321,2325,2330,2334,2339,2343],{"type":19,"tag":120,"props":2322,"children":2323},{"style":127},[2324],{"type":24,"value":1142},{"type":19,"tag":120,"props":2326,"children":2327},{"style":139},[2328],{"type":24,"value":2329}," ((",{"type":19,"tag":120,"props":2331,"children":2332},{"style":251},[2333],{"type":24,"value":823},{"type":19,"tag":120,"props":2335,"children":2336},{"style":139},[2337],{"type":24,"value":2338},") internalList).",{"type":19,"tag":120,"props":2340,"children":2341},{"style":384},[2342],{"type":24,"value":2250},{"type":19,"tag":120,"props":2344,"children":2345},{"style":139},[2346],{"type":24,"value":1686},{"type":19,"tag":120,"props":2348,"children":2350},{"class":122,"line":2349},111,[2351],{"type":19,"tag":120,"props":2352,"children":2353},{"style":139},[2354],{"type":24,"value":493},{"type":19,"tag":120,"props":2356,"children":2358},{"class":122,"line":2357},112,[2359],{"type":19,"tag":120,"props":2360,"children":2361},{"style":139},[2362],{"type":24,"value":2363},"}\n",{"type":19,"tag":20,"props":2365,"children":2366},{},[2367],{"type":19,"tag":2368,"props":2369,"children":2370},"em",{},[2371],{"type":24,"value":2372},"[)amien",{"type":19,"tag":2374,"props":2375,"children":2376},"style",{},[2377],{"type":24,"value":2378},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":114,"searchDepth":145,"depth":145,"links":2380},[],"markdown","content:blog:2006:observing_change_events_on_a_listt.md","content","blog/2006/observing_change_events_on_a_listt.md","blog/2006/observing_change_events_on_a_listt","md","/blog/2006/observing_change_events_on_a_listt/",583,[2390,2394,2398],{"title":2391,"date":2392,"url":2393},"HTML5 Video Cheatsheet: Optimizing videos for the web","2025-12-05T00:00:00Z","/blog/2025/html5-video-cheatsheet/",{"title":2395,"date":2396,"url":2397},"Transactions in the MongoDB EF Core Provider","2025-10-25","/blog/2025/mongodb-explicit-transactions/",{"title":2399,"date":2400,"url":2401},"Queryable Encryption with the MongoDB EF Core Provider","2025-09-22","/blog/2025/mongodb-queryable-encryption/",[2403,2541,2561,2582,2609,2641,2663,2684],{"_path":2404,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2406,"description":2407,"id":2408,"name":2409,"email":2410,"avatar":2411,"date":2412,"body":2413,"_type":2381,"_id":2538,"_source":2383,"_file":2539,"_stem":2540,"_extension":2386},"/comments/observing_change_events_on_a_listt/107664","observing_change_events_on_a_listt","107664","Great post. Thank you for this. One note that took me several hours to realize. The RemoveAt(int index) method is broken. Passing any index, it will remove the item starting at the beginning index of 0. I remember there being a bug in .Net 2.0 regarding this and I think they fixed in later releases but since Unity only supports 2.0, felt it was worthwhile to mention. If you find your list removing the wrong items when you call RemoveAt(), try replacing the RemoveAt method with the following:",107664,"Sailor","syale@triad.rr.com","https://www.gravatar.com/avatar/f731e9e33d8516db48803dbc4181f9c4?r=pg&d=retro","2014-07-11T23:54:13",{"type":16,"children":2414,"toc":2536},[2415,2419,2527,2532],{"type":19,"tag":20,"props":2416,"children":2417},{},[2418],{"type":24,"value":2407},{"type":19,"tag":109,"props":2420,"children":2422},{"className":111,"code":2421,"language":113,"meta":114,"style":114},"public void RemoveAt(int index) {\n    T item = internalList[index];\n    internalList.RemoveAt(index);\n    OnListChanged(new ListChangedEventArgs(index, item));\n}\n",[2423],{"type":19,"tag":33,"props":2424,"children":2425},{"__ignoreMap":114},[2426,2457,2480,2497,2520],{"type":19,"tag":120,"props":2427,"children":2428},{"class":122,"line":123},[2429,2433,2437,2441,2445,2449,2453],{"type":19,"tag":120,"props":2430,"children":2431},{"style":218},[2432],{"type":24,"value":221},{"type":19,"tag":120,"props":2434,"children":2435},{"style":347},[2436],{"type":24,"value":519},{"type":19,"tag":120,"props":2438,"children":2439},{"style":384},[2440],{"type":24,"value":1297},{"type":19,"tag":120,"props":2442,"children":2443},{"style":139},[2444],{"type":24,"value":391},{"type":19,"tag":120,"props":2446,"children":2447},{"style":347},[2448],{"type":24,"value":396},{"type":19,"tag":120,"props":2450,"children":2451},{"style":399},[2452],{"type":24,"value":402},{"type":19,"tag":120,"props":2454,"children":2455},{"style":139},[2456],{"type":24,"value":421},{"type":19,"tag":120,"props":2458,"children":2459},{"class":122,"line":145},[2460,2464,2468,2472,2476],{"type":19,"tag":120,"props":2461,"children":2462},{"style":251},[2463],{"type":24,"value":1322},{"type":19,"tag":120,"props":2465,"children":2466},{"style":139},[2467],{"type":24,"value":1327},{"type":19,"tag":120,"props":2469,"children":2470},{"style":218},[2471],{"type":24,"value":688},{"type":19,"tag":120,"props":2473,"children":2474},{"style":438},[2475],{"type":24,"value":1336},{"type":19,"tag":120,"props":2477,"children":2478},{"style":139},[2479],{"type":24,"value":1341},{"type":19,"tag":120,"props":2481,"children":2482},{"class":122,"line":171},[2483,2487,2492],{"type":19,"tag":120,"props":2484,"children":2485},{"style":139},[2486],{"type":24,"value":1227},{"type":19,"tag":120,"props":2488,"children":2489},{"style":384},[2490],{"type":24,"value":2491},"RemoveAt",{"type":19,"tag":120,"props":2493,"children":2494},{"style":139},[2495],{"type":24,"value":2496},"(index);\n",{"type":19,"tag":120,"props":2498,"children":2499},{"class":122,"line":204},[2500,2504,2508,2512,2516],{"type":19,"tag":120,"props":2501,"children":2502},{"style":384},[2503],{"type":24,"value":1246},{"type":19,"tag":120,"props":2505,"children":2506},{"style":139},[2507],{"type":24,"value":391},{"type":19,"tag":120,"props":2509,"children":2510},{"style":127},[2511],{"type":24,"value":1255},{"type":19,"tag":120,"props":2513,"children":2514},{"style":251},[2515],{"type":24,"value":320},{"type":19,"tag":120,"props":2517,"children":2518},{"style":139},[2519],{"type":24,"value":1264},{"type":19,"tag":120,"props":2521,"children":2522},{"class":122,"line":214},[2523],{"type":19,"tag":120,"props":2524,"children":2525},{"style":139},[2526],{"type":24,"value":2363},{"type":19,"tag":20,"props":2528,"children":2529},{},[2530],{"type":24,"value":2531},"Thanks again. Works great!",{"type":19,"tag":2374,"props":2533,"children":2534},{},[2535],{"type":24,"value":2378},{"title":114,"searchDepth":145,"depth":145,"links":2537},[],"content:comments:observing_change_events_on_a_listt:107664.md","comments/observing_change_events_on_a_listt/107664.md","comments/observing_change_events_on_a_listt/107664",{"_path":2542,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2543,"description":2544,"id":2545,"name":2546,"email":2547,"avatar":2548,"date":2549,"body":2550,"_type":2381,"_id":2558,"_source":2383,"_file":2559,"_stem":2560,"_extension":2386},"/comments/observing_change_events_on_a_listt/44344","44344","Nice one Damien, your CopyTo implementation should be internalList.CopyTo though, other wise you will get the nice StackOverflow exception.",44344,"Mo Samara","semsemsam@gmaill.com","https://www.gravatar.com/avatar/e93f7a68c5addb0615aa9ebed1515043?r=pg&d=retro","2011-02-19T07:06:32",{"type":16,"children":2551,"toc":2556},[2552],{"type":19,"tag":20,"props":2553,"children":2554},{},[2555],{"type":24,"value":2544},{"title":114,"searchDepth":145,"depth":145,"links":2557},[],"content:comments:observing_change_events_on_a_listt:44344.md","comments/observing_change_events_on_a_listt/44344.md","comments/observing_change_events_on_a_listt/44344",{"_path":2562,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2563,"description":2564,"id":2565,"name":2566,"email":2567,"avatar":2568,"url":2569,"date":2570,"body":2571,"_type":2381,"_id":2579,"_source":2383,"_file":2580,"_stem":2581,"_extension":2386},"/comments/observing_change_events_on_a_listt/1520","1520","Good stuff guys.",1520,"Damien Guard","damien@envytech.co.uk","https://www.gravatar.com/avatar/dc72963e7279d34c85ed4c0b731ce5a9?r=pg&d=retro","https://damieng.com/","2007-08-02T14:38:00",{"type":16,"children":2572,"toc":2577},[2573],{"type":19,"tag":20,"props":2574,"children":2575},{},[2576],{"type":24,"value":2564},{"title":114,"searchDepth":145,"depth":145,"links":2578},[],"content:comments:observing_change_events_on_a_listt:1520.md","comments/observing_change_events_on_a_listt/1520.md","comments/observing_change_events_on_a_listt/1520",{"_path":2583,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2584,"description":2585,"id":2586,"name":2587,"url":2588,"date":2589,"body":2590,"_type":2381,"_id":2606,"_source":2383,"_file":2607,"_stem":2608,"_extension":2386},"/comments/observing_change_events_on_a_listt/1519","1519","Hey Damien, In case you are looking for a good example of the Decorator pattern, you can check out the article I wrote.",1519,"Jean-Paul S. Boodhoo","https://www.jpboodhoo.com/blog","2006-06-16T04:50:50",{"type":16,"children":2591,"toc":2604},[2592],{"type":19,"tag":20,"props":2593,"children":2594},{},[2595,2597,2603],{"type":24,"value":2596},"Hey Damien, In case you are looking for a good example of the Decorator pattern, you can ",{"type":19,"tag":54,"props":2598,"children":2600},{"href":2599},"https://www.jpboodhoo.com/blog/EnhancingImagesWithTheDecoratorPattern.aspx",[2601],{"type":24,"value":2602},"check out the article I wrote",{"type":24,"value":159},{"title":114,"searchDepth":145,"depth":145,"links":2605},[],"content:comments:observing_change_events_on_a_listt:1519.md","comments/observing_change_events_on_a_listt/1519.md","comments/observing_change_events_on_a_listt/1519",{"_path":2610,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2611,"description":2612,"id":2613,"name":2614,"url":2615,"date":2616,"body":2617,"_type":2381,"_id":2638,"_source":2383,"_file":2639,"_stem":2640,"_extension":2386},"/comments/observing_change_events_on_a_listt/1518","1518","Damien, This is good stuff, as always!",1518,"Steve Harman","https://stevenharman.net","2006-06-15T22:40:17",{"type":16,"children":2618,"toc":2636},[2619,2623],{"type":19,"tag":20,"props":2620,"children":2621},{},[2622],{"type":24,"value":2612},{"type":19,"tag":20,"props":2624,"children":2625},{},[2626,2628,2634],{"type":24,"value":2627},"Oh, and I even found you a link to a pretty decent high-level explaination of the ",{"type":19,"tag":54,"props":2629,"children":2631},{"href":2630},"https://en.wikipedia.org/wiki/Decorator_pattern",[2632],{"type":24,"value":2633},"Decorator Pattern",{"type":24,"value":2635},". Gotta' love Wikipedia!",{"title":114,"searchDepth":145,"depth":145,"links":2637},[],"content:comments:observing_change_events_on_a_listt:1518.md","comments/observing_change_events_on_a_listt/1518.md","comments/observing_change_events_on_a_listt/1518",{"_path":2642,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2643,"description":2644,"id":2645,"name":2566,"email":2567,"avatar":2568,"url":2569,"date":2646,"body":2647,"_type":2381,"_id":2660,"_source":2383,"_file":2661,"_stem":2662,"_extension":2386},"/comments/observing_change_events_on_a_listt/1517","1517","BindingList does indeed have events but it's primary purpose is for data binding and the events and sorting are exposed as part of that.",1517,"2006-06-15T02:07:52",{"type":16,"children":2648,"toc":2658},[2649,2653],{"type":19,"tag":20,"props":2650,"children":2651},{},[2652],{"type":24,"value":2644},{"type":19,"tag":20,"props":2654,"children":2655},{},[2656],{"type":24,"value":2657},"I was going to put that it was an illustration of the decorator pattern but couldn't find a decent decorator reference online to link to and didn't feel like trying to cover that myself.",{"title":114,"searchDepth":145,"depth":145,"links":2659},[],"content:comments:observing_change_events_on_a_listt:1517.md","comments/observing_change_events_on_a_listt/1517.md","comments/observing_change_events_on_a_listt/1517",{"_path":2664,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2665,"description":2666,"id":2667,"name":2668,"email":2669,"avatar":2670,"url":2671,"date":2672,"body":2673,"_type":2381,"_id":2681,"_source":2383,"_file":2682,"_stem":2683,"_extension":2386},"/comments/observing_change_events_on_a_listt/1516","1516","I smell a Decorator pattern :)",1516,"Steve","steve@stevestreeting.com","https://www.gravatar.com/avatar/fbe8cc9ac5bc8797382e01e10f5f8e33?r=pg&d=retro","https://www.stevestreeting.com","2006-06-15T01:38:37",{"type":16,"children":2674,"toc":2679},[2675],{"type":19,"tag":20,"props":2676,"children":2677},{},[2678],{"type":24,"value":2666},{"title":114,"searchDepth":145,"depth":145,"links":2680},[],"content:comments:observing_change_events_on_a_listt:1516.md","comments/observing_change_events_on_a_listt/1516.md","comments/observing_change_events_on_a_listt/1516",{"_path":2685,"_dir":2405,"_draft":6,"_partial":6,"_locale":7,"title":2686,"description":2687,"id":2688,"name":2689,"date":2690,"body":2691,"_type":2381,"_id":2708,"_source":2383,"_file":2709,"_stem":2710,"_extension":2386},"/comments/observing_change_events_on_a_listt/1515","1515","How does this compare to using BindingList\u003CT>? It already had list changed events built in.",1515,"Will Gant","2006-06-14T19:30:38",{"type":16,"children":2692,"toc":2706},[2693],{"type":19,"tag":20,"props":2694,"children":2695},{},[2696,2698,2704],{"type":24,"value":2697},"How does this compare to using ",{"type":19,"tag":33,"props":2699,"children":2701},{"className":2700},[],[2702],{"type":24,"value":2703},"BindingList\u003CT>",{"type":24,"value":2705},"? It already had list changed events built in.",{"title":114,"searchDepth":145,"depth":145,"links":2707},[],"content:comments:observing_change_events_on_a_listt:1515.md","comments/observing_change_events_on_a_listt/1515.md","comments/observing_change_events_on_a_listt/1515",1779264596827]