У меня возникла странная ошибка компилятора с методами расширения. У меня есть сборка, в которой есть метод расширения вроде
public static class MyClass
{
public static Bar GetBar(this Foo foo)
{
return new Bar();
}
}
. И в другом месте той же сборки я делаю что-то вроде этого
Foo foo = new Foo();
var bar = foo.GetBar();
Когда я очищаю и компилирую, все в порядке. НО как только я вношу небольшое изменение (например, добавляю лишний пробел) в сборку и снова строю, я получаю такую ошибку:
Ошибка 973 Вызов неоднозначен для следующих методов или свойств: 'MyNameSpace.MyClass.GetBar (Foo ) 'и' MyNameSpace.MyClass.GetBar (Foo) '
Только после очистки проекта я могу построить снова. Это проблема компилятора, использующего старую версию сборки? Единственное, что я вижу сейчас, - это заменить мои методы расширения обычными статическими методами.