title: ReSharper warns: "Static field in generic type"
body: <pre><code>public class EnumRouteConstraint&lt;T&gt; : IRouteConstraint
      where T : struct
  {
      private static readonly Lazy&lt;HashSet&lt;string&gt;&gt; _enumNames; // &lt;--
  
      static EnumRouteConstraint()
      {
          if (!typeof(T).IsEnum)
          {
              throw new ArgumentException(
                  Resources.Error.EnumRouteConstraint.FormatWith(typeof(T).FullName));
          }
  
          string[] names = Enum.GetNames(typeof(T));
          _enumNames = new Lazy&lt;HashSet&lt;string&gt;&gt;(() =&gt; new HashSet&lt;string&gt;
          (
              names.Select(name =&gt; name), StringComparer.InvariantCultureIgnoreCase
          ));
      }
  
      public bool Match(HttpContextBase httpContext, Route route, 
                          string parameterName, RouteValueDictionary values, 
                          RouteDirection routeDirection)
      {
          bool match = _enumNames.Value.Contains(values[parameterName].ToString());
          return match;
      }
  }
  </code></pre>
  
  <p>Is this wrong? I would assume that this actually has a <code>static readonly</code> field for each of the possible <code>EnumRouteConstraint&lt;T&gt;</code> that I happen to instance.</p>