Skip to content

Gendarme.Rules.Design.Generic.DoNotExposeNestedGenericSignaturesRule(2.10)

Sebastien Pouliot edited this page Jan 22, 2011 · 2 revisions

DoNotExposeNestedGenericSignaturesRule

Assembly: Gendarme.Rules.Design.Generic
Version: 2.10

Description

This rule will fire if an externally visible method has a parameter or return type whose type is a generic type which contains a generic type. For example, List<List>. Such types are hard to construct and should be avoided because simpler alternatives generally exist. Since some language, like C#, have direct support for nullable types, i.e. Nullable this specific case is ignored by the rule.

Examples

Bad example:

public class Generic<T> {
    public void Process (KeyValuePair<T, ICollection<int>> value)
    {
    }
}

Good example:

public class Generic<T> {
    public void Process (KeyValuePair<T, int[]> value)
    {
    }
}

Notes

  • This rule is available since Gendarme 2.4
Clone this wiki locally