C# 在不知道集合类型的情况下,将CollectionChanged添加到ObservableCollectionOn

C# 在不知道集合类型的情况下,将CollectionChanged添加到ObservableCollectionOn,c#,observablecollection,inotifypropertychanged,inotifycollectionchanged,C#,Observablecollection,Inotifypropertychanged,Inotifycollectionchanged,我正在尝试将CollectionChanged事件添加到类中的任何项。假设我有以下几点: public class A { string OneString; string TwoString; ObservableCollection<B> CollectionOfB; } public class B { string ThreeString; string FourString; string FiveString; Observab

我正在尝试将CollectionChanged事件添加到类中的任何项。假设我有以下几点:

public class A
{
   string OneString;
   string TwoString;
   ObservableCollection<B> CollectionOfB;
}

public class B
{
   string ThreeString;
   string FourString;
   string FiveString;
   ObservableCollection<C> CollectionOfC;
}

public class C
{
   string SixString;
   string SevenString;
}

如何添加CollectionChanged事件处理程序而在运行时之前不知道类类型

只需将其强制转换为
INotifyCollectionChanged

var collectionChanged = propertyObject as INotifyCollectionChanged;
if (collectionChanged != null)
    collectionChanged.CollectionChanged += ...
{"Unable to cast object of type 'System.Collections.ObjectModel.ObservableCollection`1[SOC.Model.Code3]' to type 'System.Collections.ObjectModel.ObservableCollection`1[System.Object]'."}
var collectionChanged = propertyObject as INotifyCollectionChanged;
if (collectionChanged != null)
    collectionChanged.CollectionChanged += ...