Прочитать на английском

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


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

Циклическая зависимость ограничений, включающая "Параметр типа 1" и "Параметр типа 2"

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

Пример 1

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

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

Пример 2

В следующем примере показана циклическая зависимость между двумя ограничениями типа.

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