Pasar esto como Parametro InitializeComponent();

Iniciado por rigorvzla, 11 Diciembre 2020, 18:00 PM

0 Miembros y 1 Visitante están viendo este tema.

rigorvzla

Hola amigos saludos, espero puedan ayudarme, en estos momentos me encuentro con una lucha que no se como resolver, he creado un metodo y quiero que reciba como parametro 
esta funcion

InitializeComponent();

public MainWindow()
        {
            Metodo.Propiol(InitializeComponent());
        }


como ven es el inicializador de la aplicacion en el constructor principal.
no se como hacerlo , si alguien puede ayudarme , se lo agradeceria grandemente.

Danielㅤ

Hola, prueba a guardar el objeto en una variable:

Código (csharp) [Seleccionar]
public MainWindow()
       {
           objeto = InitializeComponent();
           Metodo.Propiol(objeto);
       }


// Saludos

¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!


ThunderCls

Intenta usando un delegate:

Código (csharp) [Seleccionar]
public delegate void InitComponent();

Por que quieres pasar una funcion sin parametros de entrada y/o salida como argumento a otra funcion? Algo me dice que existe una mejor forma de hacer lo que quieres
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

Mr. NoBody

#4
El método 'InitializeComponent' no tiene parámetros ni devuelve un valor, así que puedes utilizar la clase 'System.Action':

Código (csharp) [Seleccionar]
private void TestMethod(Action @delegate){
   @delegate.Method.Invoke(this, null);
}

...
Código (csharp) [Seleccionar]
TestMethod(this.InitializeComponent);

Pero deberías explicar por que crees necesario pasar la referencia de un método como parámetro a otro método, ya que como te han dicho quizás haya una solución más apropiada a tus necesidades, puesto que a simple vista y sin más info por tu parte, el enfoque que le estás dando parece innecesario.

Saludos.