Compilerfehler CS0229Compiler Error CS0229

Mehrdeutigkeit zwischen „Member1“ und „Member2“Ambiguity between 'member1' and 'member2'

Member verschiedener Schnittstellen haben den gleichen Namen.Members of different interfaces have the same name. Wenn Sie weiterhin die gleichen Namen verwenden möchten, müssen Sie die Namen qualifizieren.If you want to keep the same names, you must qualify the names. Weitere Informationen finden Sie unter Schnittstellen.For more information, see Interfaces.

Hinweis

In einigen Fällen kann diese Mehrdeutigkeit behoben werden, indem Sie dem Bezeichner einen expliziten Präfix mithilfe des Alias using geben.In some cases, this ambiguity can be resolved by providing an explicit prefix to the identifier via a using alias.

BeispielExample

Im folgenden Beispiel wird der Fehler CS0229 generiert:The following example generates CS0229:

// CS0229.cs  

interface IList  
{  
    int Count  
    {  
        get;  
        set;  
    }  

    void Counter();  
}  

interface ICounter  
{  
    double Count  
    {  
        get;  
        set;  
    }  
}  

interface IListCounter : IList , ICounter {}  

class MyClass  
{  
    void Test(IListCounter x)  
    {  
        x.Count = 1;  // CS0229  
        // Try one of the following lines instead:  
        // ((IList)x).Count = 1;  
        // or  
        // ((ICounter)x).Count = 1;  
    }  

    public static void Main() {}  
}