Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 2) CS0467

Ambiguity between method 'method' and non-method 'non-method'. Using method group.

Inherited members from different interfaces that have the same signature cause an ambiguity error.

The following example generates CS0467.

// CS0467.cs
interface IList 
    int Count { get; set; }

interface ICounter
    void Count(int i);

interface IListCounter : IList, ICounter {}

class Driver 
    void Test(IListCounter x)
        // The following line causes the warning. The assignment also
        // causes an error because you can't assign a value to a method.
        x.Count = 1;
        // To resolve the warning, you can change the name of the method or 
        // the property.

        // You also can disambiguate by specifying IList or ICounter.
        ((IList)x).Count = 1;
    static void Main() 
© 2015 Microsoft