How to define an aggregated ICollection<T> where T is type of the current declaring class within a hierarchy?
问题 I need to inherit a collection of items of the current type, like this class A { // some properties... public ICollection<A> Children; } class B: A { // other properties } This mostly works as expected. The problem is I can do something like this class C: A { } B b = new B(); b.Children = new List<C>(); Is there any way to force b.Children to be a collection of B ? 回答1: No, there is no way to do such thing yet. The C# language has no artifact to declare such thing: class A { public