C # Как использовать интерфейсы

Это относительно простой вопрос. Но мне было интересно, как правильно использовать для доступа к методу внутри отдельного проекта через интерфейс.

Проект : Test.ClassLibrary

Интерфейс :

public interface ITest
{
    string TestMethod();
}

Класс :

public class Test : ITest
{
    public string TestMethod()
    {
        return "Test";
    }
}

Проект: Test.Web

Контроллер :

public class HomeController : Controller
{
    private ITest test;
    public ActionResult Index()
    {
        return Content(test.TestMethod());
    }

}

Вышеупомянутое возвращает исключение NullReferenceException . Я предполагаю, что это потому, что контроллер доходит до интерфейса и не знает, куда идти дальше.

Как лучше всего это исправить? Должен ли я ссылаться на класс Test в контроллере, или я могу как-нибудь обойтись без ссылки только на ITest ?

14
задан jzm 14 October 2011 в 01:57
поделиться