Bien.
Empezare por la interface:
Que llamaremos IBase y tiene sus métodos abstractos
Código:
public interface IBase
{
void onPrint();
void onExit();
}
En mi pantalla frmForma de la capa TODOS heredo la interface:
Código:
public partial class frmForma : XtraForm, IBase
{
public void onExit()
{
this.Close();
}
public void onSave()
{
//Guarda la informacion
}
}
Luego desde mi MDI frmMain de la capa de presentación tengo un botón de Guardar y de Salir, y cuando le doy click al botón de Guardar lo hago de la siguiente manera:
Código:
private void iSave_ItemClick(object sender, ItemClickEventArgs e)
{
((IBase)this.ActiveMdiChild).onSave();
}
Y con esto pues ejecuto el método onSave() de mi pantalla frmForma y todo funciona perfectamente bien.
Ahora lo que necesito es hacerlo al revés, es decir, necesito, desde mi pantalla frmForma ejecutar un método de una interface que esta implementada en mi MDI frmMain y ahí esdonde estoy atorado, es decir, lo único que necesito es saber como ejecutar un método de una interface, algo asi como esto:
Código:
((IBase)this.ActiveMdiChild).onSave();
pero sin el ActiveMdiChild
Espero haber sido mas explicito y ver si alguien me comenta su punto de vista.
o bien, saber como ejecutar un metodo de mi frmMain desde mi frmForm que ambos estan en capas diferentes.