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


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

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

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

В разделяемых объявлениях "тип" присутствуют несогласованные ограничения для типа параметра "тип параметра"
Partial declarations of 'type' have inconsistent constraints for type parameter 'type parameter'

Эта ошибка возникает при определении универсального класса как разделяемого класса, так что его разделяемые определения образуются в нескольких местах, и ограничения в универсальном типе становятся несогласованными или отличаются в двух и более местах. При указании ограничений в нескольких местах они должны быть одинаковыми. Наиболее простым решением будет задать ограничения в одном месте и опустить их во всех остальных. Дополнительные сведения см. в разделах Разделяемые классы и методы (Руководство по программированию в C#) и Ограничения параметров типа (руководство по программированию в C#).

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

Пример

В этом коде все разделяемые определения класса расположены в одном файле, но могут распространяться по нескольким файлам.

// CS0265.cs
public class GenericsErrors 
{
    interface IFace1 { }
    interface IFace2 { }
    partial class PartialBadBounds<T> where T : IFace1 { } // CS0265
    partial class PartialBadBounds<T> where T : IFace2 { } 
}