我有一个各种项目类型的集合列表。该列表键入为List<IEnumerable>
; 因为IEnumerable
是唯一的非泛型接口ICollection<T>
,我需要在这个列表中添加例如ICollection<Contact>
和ICollection<Partnership>
集合。
稍后,在实体实用程序代码中,我需要清除集合。到目前为止,我发现的唯一解决方案是:
collection.GetType().GetInterface("ICollection`1").InvokeMember("Clear",
BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod,
null,
collection,
new object[0]);
有什么更优雅的我可以使用吗?