Freigeben über


Compilerwarnung (Stufe 1) CS3011

'member': Nur CLS-kompatible Member können abstrakt sein.

Ein Klassenmember kann nicht zugleich abstrakt und nicht mit CLS (Common Language Specification) kompatibel sein. Die CLS gibt an, dass alle Klassenmember implementiert werden sollen. Weitere Informationen zur CLS-Konformität finden Sie unter Sprachunabhängigkeit und sprachunabhängige Komponenten.

Beispiel

Im folgenden Beispiel wird CS3011 generiert:

// CS3011.cs  
  
using System;  
  
[assembly:CLSCompliant(true)]  
public abstract class I  
{  
    [CLSCompliant(false)]  
    public abstract int M();   // CS3011  
  
    // OK  
    [CLSCompliant(false)]  
    public void M2()  
    {  
    }  
}  
  
public class C : I  
{  
    public override int M()  
    {  
        return 1;  
    }  
  
    public static void Main()  
    {  
    }  
}