Предупреждение компилятора (уровень 1) CS3018
"тип" не может быть помечен как совместимый с CLS, поскольку является членом типа "тип", не совместимого с CLS
Это предупреждение возникает, когда вложенный класс, атрибуту CLSCompliant которого присвоено значение true
, объявляется как член класса, который объявлен с атрибутом CLSCompliant, равным false
. Это недопустимо, так как вложенный класс не может быть соответствующим CLS, если он является членом внешнего класса, несовместимого с CLS. Для устранения этого предупреждения удалите атрибут CLSCompliant из вложенного класса либо измените его значение с true
на false
. Дополнительные сведения о соответствии CLS см. в статье о независимости языка и независимых от языка компонентах.
Следующий пример приводит к возникновению предупреждения CS3018:
// CS3018.cs
// compile with: /target:library
using System;
[assembly: CLSCompliant(true)]
[CLSCompliant(false)]
public class Outer
{
[CLSCompliant(true)] // CS3018
public class Nested {}
// OK
public class Nested2 {}
[CLSCompliant(false)]
public class Nested3 {}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: