C# Error
CS0717 – ‘{0}’: static classes cannot be used as constraints
Reason for the Error & Solution
‘static class’: static classes cannot be used as constraints
Static classes cannot be extended as they only contain static members and not instance members. Because they cannot be extended, this makes them useless as type parameters and constraints, as no type can exist that is a specialization of a static class.
Example
The following sample generates CS0717:
// CS0717.cs
public static class SC
{
public static void F()
{
}
}
public class G<T> where T : SC // CS0717
{
public static void Main()
{
}
}