Я пытаюсь вызвать метод расширения в моем собственном классе, но он не компилируется. Рассмотрим следующие строки кода:
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();
Любые объяснения?