It's fine to have a static field in a generic type, so long as you know that you'll really get one field per combination of type arguments. My guess is that R# is just warning you in case you weren't aware of that.
Here's an example of that:
using System;public class Generic{ // Of course we wouldn't normally have public fields, but... public static int Foo;}public class Test{ public static void Main() { Generic .Foo = 20; Generic
As you can see, Generic<string>.Foo
is a different field from Generic<object>.Foo
- they hold separate values.