It’s allowed to use a generics as return value (e. g. T GetData(string anyparameter)), so my suggestion is to change the rule
Non compliant code
using System;
namespace MyLibrary
{
public class Foo
{
public void MyMethod<T>() // Noncompliant
{
}
}
}
Compliant Code:
using System;
namespace MyLibrary
{
public class Foo
{
public void MyMethod<T>(T param)
{
}
}
}
or
using System;
namespace MyLibrary
{
public class Foo
{
public T MyMethod<T>(string param)
{
}
}
}