A nested type is a type argument that is also a generic type. Calling a method with such a nested type argument requires complicated and confusing code. It should be avoided as much as possible. == Noncompliant Code Example ---- using System; using System.Collections.Generic; namespace MyLibrary { public class Foo { public void DoSomething(ICollection> outerCollect) // Noncompliant { } } } ----