Почему это. квалификатор, необходимый при вызове метода расширения интерфейса внутри класса, реализующего интерфейс?C#

Место общения программистов C#
Anonymous
Почему это. квалификатор, необходимый при вызове метода расширения интерфейса внутри класса, реализующего интерфейс?

Сообщение Anonymous »

Данный интерфейс

Код: Выделить всё

public interface IHaveError
{
string ErrorMessage { get; set; }
}
Расширение

Код: Выделить всё

public static class HaveErrorExtensions
{
public static void SetErrorMessage(this IHaveError target, string message)
{
target.ErrorMessage = message;
}
}
Класс

Код: Выделить всё

public class HaveError : IHaveError
{
public string ErrorMessage { get; set; }

public void DoSomething()
{
this.SetErrorMessage(message);
}
}
Почему это. требуется при вызове метода расширения? Без него имя не будет разрешено.

Подробнее здесь: https://stackoverflow.com/questions/801 ... ion-method

Вернуться в «C#»