Как вызвать метод расширения из собственного класса без приведения?

Я пытаюсь позвонитьметод расширения на моем собственном классе, но он не компилируется. Рассмотрим следующие строки кода:

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();

Есть объяснения?

Ответы на вопрос(3)

Ваш ответ на вопрос