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


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

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

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

Универсальный тип 'generic type' не может одновременно реализовывать универсальные интерфейсы 'generic interface' и 'generic interface', потому что при замене некоторых параметров типа они могут стать тождественными
'generic type' cannot implement both 'generic interface' and 'generic interface' because they may unify for some type parameter substitutions

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

Следующий пример проводит к генерированию ошибки CS0695:

// CS0695.cs
// compile with: /target:library

interface I<T>
{
}

class G<T1, T2> : I<T1>, I<T2>  // CS0695
{
}