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.
Example
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;
x.Count(3);
// To resolve the warning, you can change the name of the method or
// the property.
// You can also disambiguate by specifying IList or ICounter.
((IList)x).Count = 1;
((ICounter)x).Count(3);
}
static void Main()
{
}
}
Feedback
Submit and view feedback for