Поделиться через


Ошибка компилятора CS0455

Обновлен: Ноябрь 2007

Сообщение об ошибке

Параметр типа "имя параметра-типа" наследует конфликтующие ограничения "имя ограничения 1" и "имя ограничения 2"
Type parameter 'Type Parameter Name' inherits conflicting constraints 'Constraint Name 1' and 'Constraint Name 2'

Как правило, данная ошибка возникает, если ограничения устанавливаются таким образом, что параметр-тип наследует от двух несвязанных классов либо одновременно от ограничения типа класса или ссылки и ограничения типа значения или struct. Чтобы устранить эту ошибку, удалите конфликт в иерархии наследования.

Пример

Следующий код вызывает ошибку CS0455.

// CS0455.cs
using System;

public class GenericsErrors {
    public class B { }
    public class B2 { }
    public class G6<T> where T : B { public class N<U> where U : B2, T { } } // CS0455
}