I am experiencing a strange compiler error with extension methods. I have an assembly which has an extension method like
public static class MyClass
{
public static Bar GetBar(this Foo foo)
{
return new Bar();
}
}
And elsewhere in the same assembly i do something like this
Foo foo = new Foo();
var bar = foo.GetBar();
When i clean and compile everything is OK. BUT once i make a small change (like an extra whitespace) in the assembly and build again I get an error like this:
Error 973 The call is ambiguous between the following methods or properties: 'MyNameSpace.MyClass.GetBar(Foo)' and 'MyNameSpace.MyClass.GetBar(Foo)'
Only after i clean the project I can build again. Is this a problem in the compiler using an old version of the assembly? Only work around I see now is to replace my extension methods with normal static methods.