Foro de elhacker.net

Programación => .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

Código:
InitializeComponent(); 

Código:
 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
  1. public MainWindow()
  2.        {
  3.            objeto = InitializeComponent();
  4.            Metodo.Propiol(objeto);
  5.        }
  6.  
  7.  
  8. // Saludos
  9.  


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
  1. 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
  1. private void TestMethod(Action @delegate){
  2.    @delegate.Method.Invoke(this, null);
  3. }
...
Código
  1. 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.