ReSharper 2017.1 Help

The BaseTypeRequired attribute requires the type parameter to be a class or an interface. Consequently, applying it to value types is likely to lead to an error. For example, the following will generate a warning: