Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: rigorvzla en 11 Diciembre 2020, 18:00 PM

Título: Pasar esto como Parametro InitializeComponent();
Publicado por: rigorvzla en 11 Diciembre 2020, 18:00 PM
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.
Título: Re: Pasar esto como Parametro InitializeComponent();
Publicado por: Danielㅤ en 11 Diciembre 2020, 18:36 PM
Hola, prueba a guardar el objeto en una variable:

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


// Saludos

Título: Re: Pasar esto como Parametro InitializeComponent();
Publicado por: rigorvzla en 11 Diciembre 2020, 19:16 PM
no, nada no resulto
Título: Re: Pasar esto como Parametro InitializeComponent();
Publicado por: ThunderCls en 11 Diciembre 2020, 21:50 PM
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
Título: Re: Pasar esto como Parametro InitializeComponent();
Publicado por: Mr. NoBody en 4 Febrero 2021, 22:32 PM
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.