Compiler Error CS0694
Type parameter 'identifier' has the same name as the containing type, or method
You must use a different name for the type parameter since the type parameter's name cannot be identical to the type or method name that contains the type parameter.
Example
The following sample generates CS0694.
// CS0694.cs
// compile with: /target:library
class C<C> {} // CS0694
In addition to the above case involving a generic class, this error may occur with a method:
// CS0694_2.cs
// compile with: /target:library
class A
{
public void F<F>(F arg); // CS0694
}