Upozornění kompilátoru (úroveň 1) CS3018
Typ nelze označit jako kompatibilní se specifikací CLS, protože je členem typu, který nedodržuje předpisy CLS.
K tomuto upozornění dochází, pokud je vnořená třída s atributem CLSCompliant nastavena na true
je deklarována jako člen třídy deklarované s atributem CLSCompliant nastaveným na false
. To není povoleno, protože vnořená třída nemůže být kompatibilní se specifikací CLS, pokud je členem vnější třídy, která není kompatibilní se specifikací CLS. Pokud chcete toto upozornění vyřešit, odeberte atribut CLSCompliant z vnořené třídy nebo ho změňte na true
false
. Další informace o dodržování předpisů CLS najdete v tématu Nezávislost jazyka a komponenty nezávislé na jazyce.
Následující ukázka vygeneruje 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 {}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: