none
Referencias circulares RRS feed

  • Pregunta

  • Buen día a todos

    Tengo una solución en la cual hay un proyecto Main llamado Proyecto A, y otros dos Proyectos secundarios llamados Proyecto B y proyecto C, por lo que en el proyecto A, cuento con un formulario de login, y Una clase para Variables y Contantes Globales (Para los 3 Proyectos), así como clases de modelos de SQL y de funciones.

    Una vez que el login es correcto, debe abrir uno de los dos proyectos secundarios según el tipo de usuario.

    A los proyectos secundarios se les agregó la referencia al Proyecto A, para que las clases que estan del Proyecto A, se puedan usar en los proyectos secundarios.

    Mi pregunta es... como hago para referenciar desde el Login del Proyecto A, y me ejecute el formulario de Inicio de cada uno de los Secundarios, ya que no es posible hacer una referencia circular.

    el código es en C#, con visual Studio y plataforma Windows Forms

    Gracias por su ayuda

    jueves, 5 de diciembre de 2019 18:04

Respuestas

  • La forma de evitar esto, es crear una clase cross cutting, esta clase es una clase en la que se encuentran las definiciones de objetos comunes en un proyecto.

    A que me refiero, supon que tienes una clase A que emplea una caseB

    A emplea B

    tienes una clase c que emplea una clase B

    C emplea B

    la clase B debes colocarla en un proyecto especial, el que pueda ser consumido por a y por C.

    Este proyecto es un proyecto que solo debe ser referencia a clases pero no debe usar como referencia otra clase, en tu caso que tienes la clase que almacena los valores en tu proyecto principal, saca esta clase y solo has una referencia a esta tercer clases.

    saludos


    Ing. Carlos Monroy

    • Propuesto como respuesta Diana AcuñaModerator jueves, 5 de diciembre de 2019 19:30
    • Marcado como respuesta Enrique4to viernes, 6 de diciembre de 2019 14:23
    jueves, 5 de diciembre de 2019 19:16