Я пытаюсь вызвать метод расширенияв моем собственном классе, но он не компилируется. Рассмотрим следующие строки кода:
public interface IHelloWorld
{
}
public static class Extensions
{
public static string HelloWorld(this IHelloWorld ext)
{
return "Hello world!";
}
}
public class Test : IHelloWorld
{
public string SaySomething()
{
return HelloWorld();
}
}
По сути, я расширяю интерфейс. Я продолжаю получать эту ошибку:
The name 'HelloWorld' does not exist in the current context
Кто-нибудь может мне это объяснить? Когда я выполняю приведение типов, все выглядит хорошо:
return ((Test)this).HelloWorld();
Есть пояснения?