== Why is this an issue?

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

[source,csharp]
----
using System;
using System.Collections.Generic;

namespace MyLibrary
{
  public class Foo
  {
    public void DoSomething(ICollection<ICollection<int>> outerCollect) // Noncompliant
    {
    }
  }
}
----


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Refactor this method to remove the nested type argument.


=== Highlighting

The nested type argument in the method declaration


endif::env-github,rspecator-view[]
