Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 2) CS3021

Atrybut "type" nie wymaga atrybutu CLSCompliant, ponieważ zestaw nie ma atrybutu CLSCompliant

To ostrzeżenie występuje, jeśli [CLSCompliant(false)] pojawia się w klasie w zestawie, który nie ma atrybutu CLSCompliant na poziomie zestawu ustawionego na wartość true (czyli wiersza [assembly: CLSCompliant(true)]). Ponieważ zestaw nie deklaruje się jako zgodny ze specyfikacją CLS, nie ma potrzeby, aby coś w zestawie zadeklarowało się jako niezgodne, ponieważ zakłada się, że nie jest zgodne. Aby uzyskać więcej informacji na temat zgodności środowiska CLS, zobacz Niezależność języka i składniki niezależne od języka.

Aby pozbyć się tego ostrzeżenia, usuń atrybut lub dodaj atrybut poziomu zestawu.

Przykład

Poniższy przykład generuje CS3021:

C#
// CS3021.cs  
using System;  
// Uncomment the following line to declare the assembly CLS Compliant,  
// and avoid the warning without removing the attribute on the class.  
//[assembly: CLSCompliant(true)]  
  
// Remove the next line to avoid the warning.  
[CLSCompliant(false)]               // CS3021  
public class C  
{  
    public static void Main()  
    {  
    }  
}  

Zobacz też