Ошибка компилятора CS0450
Обновлен: Ноябрь 2007
Сообщение об ошибке
"Имя параметра типа": нельзя одновременно указать класс ограничения и ограничение "class" или "struct"
'Type Parameter Name': cannot specify both a constraint class and the 'class' or 'struct' constraint
Если параметр типа ограничен ограничением типа структуры, то его одновременное ограничение конкретным типом класса приводит к логическому противоречию, поскольку структура и класс являются взаимоисключающими категориями. Если параметр типа ограничен конкретным ограничением типа класса, то он по определению ограничен конкретным типом класса, поэтому указание ограничения типа класса является избыточным.
Пример
// CS0450.cs
// compile with: /t:library
public class GenericsErrors
{
public class B { }
public class G3<T> where T : struct, B { } // CS0450
// To resolve, use the following line instead:
// public class G3<T> where T : B { }
}