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


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

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

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

Циклическая зависимость ограничений, связанная с параметрами 'Type Parameter 1' и 'Type Parameter 2'
Circular constraint dependency involving 'Type Parameter 1' and 'Type Parameter 2'

Эта ошибка возникает по тому, что в каком-то месте один параметр типа ссылается на другой, а второй параметр ссылается на первый. Для устранения этой ошибки нарушьте циклическую зависимость, удалив одно из ограничений. Обратите внимание, что циклическая зависимость ограничений может быть непрямой.

Пример

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

// CS0554
using System;
public class GenericsErrors 
{
    public class G4<T> where T : T { } // CS0454
}

Следующий код является примером циклической зависимости двух ограничений типа.

public class Gen<T,U> where T : U where U : T  // CS0454
{
}