Métodos de interfaz de acceso sin referir a la clase.

Digamos que tengo una interfaz como esta en un proyecto llamado "Interfaz":

public interface TestInterface
{
    string Operation();
}

y la clase que lo implementa. Esta clase está ubicada en otro proyecto "Clase":

public class TestClass : TestInterface
{
    public TestClass() { }

    public string Operation()
    {
        return "This is an Operation";
    }
}

Mi cliente hace algo como esto (que está de nuevo en un proyecto diferente "Cliente"):

class Program
{
    static void Main(string[] args)
    {
        TestInterface i = new TestClass();
        i.Operation();
    }
}

Mi pregunta está relacionada con esta línea:

TestInterface i = new TestClass();

Al agregar esta línea, me veo obligado a agregar referencias a los proyectos "Interfaz" y "Clase" de mi proyecto "Cliente". Entonces, ¿por qué todo este alboroto? ¿No puedo referirme directamente a la "Clase" sin mantener la "Interfaz" en el medio? ¿Hay alguna forma de acceder a los métodos solo a través de la interfaz (sin hacer una referencia a la clase de implementación)? ¿Me estoy perdiendo de algo?

Respuestas a la pregunta(5)

Su respuesta a la pregunta