none
Como usar inyeccion de dependencia en Clases Asp.Net MVC ? RRS feed

  • Pregunta

  • hola ...

    mi problema es el siguiente , tengo una clase llamada EngineProyect  y si por ejemplo desde mi controlador nesecito usar un metodo de esta clase que a su vez utilice un metodo de alguna interface paso la interface como un parametro y listo por ejemplo:

    Metodo_De_Mi_Clase(Mi_Interface, Otro_Parametro) ;

    pero me gustaria saber si  puedo  hacer algo asi:

    public bool Metodo_De_Mi_Clase (string parametro)
    {
       return Mi_Interface.Metodo( parametro ) ;
    }


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    lunes, 19 de agosto de 2019 14:14

Todas las respuestas

  • Hola, creo que no estás aplicando bien el concepto de inyección de dependencias. Puedes mostrar algún ejemplo que tengas más completo? Gracias 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 19 de agosto de 2019 17:21
    Moderador
  • hola

    La inyecion de dependencia (DI) se dan en el constructor de la clase o controller, no en los metodos

    Poner a Mi_Interface en Metodo_De_Mi_Clase no es valido si quieres aplicar DI, sino que seria

    public class MiController : Controller{
    
         private readonly MiInterfce miInterface;
    
         public MiController(MiInterfce _miInterface){
    
               miInterface = _miInterface;
    
        }
    
        public bool Metodo_De_Mi_Clase(string parametro){
    
              miInterface.Metodo(parametro);
    
        }
    
    }

    es el contructor que recibe la instancia de la interfaz

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 20 de agosto de 2019 3:53
  • Completando lo indicado por Leandro, decirte que también pueden inyectarse vía propiedades, no sólo en el constructor

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 20 de agosto de 2019 9:58
    Moderador
  • Hola Sergio Parra...

    También pueden inyectarse vía propiedades, no sólo en el constructor...

    Como puede hacerse de esa manera ...un ejemplo seria excelente??


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    martes, 20 de agosto de 2019 17:04