internal abstract class A<T> { public abstract void Foo(T x); public abstract class B<S> : A<B<S>> { public abstract class C<U> : B<C<U>> { public abstract class D<Q> : C<D<Q>> { public class E<X> : D<E<X>> // here { } } } } }
I cannot wait till the end Notice, that VS completion after 'public override' works instantly.