Esta es una pregunta relativamente simple. Pero me preguntaba cuál es el uso correcto para acceder a un método dentro de un proyecto separado mediante el uso de una interfaz.C# Cómo usar las interfaces
Proyecto: Test.ClassLibrary
interfaz:
public interface ITest
{
string TestMethod();
}
Clase:
public class Test : ITest
{
public string TestMethod()
{
return "Test";
}
}
Proyecto:Test.Web
Controller:
public class HomeController : Controller
{
private ITest test;
public ActionResult Index()
{
return Content(test.TestMethod());
}
}
Los rendimientos por encima de un NullReferenceException
. Supongo que es porque el controlador llega a la interfaz y no sabe a dónde ir.
¿Cuál es la mejor manera de arreglar esto? ¿Tengo que hacer referencia a la clase Test
en el controlador o puedo de alguna manera salir con la única referencia a ITest
?
¿Usted realmente tiene una _instance_ de '' ITest' en su test' variable? Si 'test == null', obtendrás ese error, y no tiene nada relacionado con tu interfaz' ITest' –
Editado la pregunta: Olvidé escribir: ITest con la declaración de clase de prueba – jzm
posible duplicado de [ ¿Qué es una NullReferenceException en .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net) –