CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Callbyname
sergiotarrillo:
hola foreros, encontre esta pregunta, en una comunidad, y no entiendo a que se refiere, si alguien que ha usado el VB6.0, me explica que es lo quiere el pata....
--- Citar ---Lo ke pasa es ke necesito ejecutar algunos métodos de una clase en runtime es decir los nombres los tengo en una tabla y lo que kiero es llamar a dichos métodos a partir de dicho string. En VB 6 existía el CallByName el cual también en Net existe pero yo kiero utilizar las librerías propias de Net es por ello que deseo saber si existe algunas forma de hacer ello, estuve investigando y vi ke es algo con Reflection pero si alguien me puede dar una ayuda se lo agradecería.
--- Fin de la cita ---
Soultaker:
Bueno lo que yo entiendo es que el pata lo que quiere hacer es que digamos me creo un formulario con infinidad de procedimientos, pero lo que me parece que quiere es que esos procedimientos osea los nombres esten en una tabla y al estar en la tabla serian de tipo string, por lo tanto el pata quiere jalar el nombre del procedimiento desde la tabla y que ese procedimiento se ejecute dependiendo del nombre que se haya elegido de la tabla. Bueno eso es lo que entendi.
Bueno esto seria algo parecido a lo que una vez hice una pregunta parecida en este foro (que por cierto hasta ahora no me responden :D ) Ejecutar codigo en variables :hola:
Bueno eso me parece que es lo que quiere el patita. Por cierto si hayan la solucion tambien publiquenlo por aqui.
:comp:
sergiotarrillo:
hola gentita, el pata ya encontro solucion, pero hasta ahora no entiendo que es lo que queria aca les mando las discusión para la chekeen:
CallByName
Soultaker:
Miren lo que yo entiendo es esto, espero no estar equivocado y si lo estoy corrijanme.
--- Código: Text ---' Lo primero que hace es crear una clase (Class1)Dim i As Int32 ' Aqui declara MiClase del tipo de Class1Dim MiClase As Type = GetType(Class1) 'Obtienes el tipo ' Luego aqui declara MyMethod del tipo de un MetodoDim MyMethod As Reflection.MethodInfo ' Obtienes el metodo ' Bueno el For ya saben para que esFor i = 0 To Me.lstDestino.Items.Count - 1 ' Aqui a la variable MyMethod le esta almacenando el nombre del metodo ' de acuerdo a la posición que se encuentre en el ListBox MyMethod = MiClase.GetMethod(Me.lstDestino.Items(i)) ' Bueno y aqui esta ejecutando el metodo que se encuentra en la ' variable MyMethod MyMethod.Invoke(Nothing, Nothing) 'Llamas al metodoNext
Lo de la tabla que queria jalar los nombres, lo que entiendo es que en la tabla ingresa todos los nombres de los métodos de la clase (Class1), luego esos nombres lo ingresa al ListBox y ahi de acuerdo al orden que este se va ejecutnado método por método.
Bueno eso es lo que entendí.
Saludos y Feliz Año. Bye :hola:
:comp:
sergiotarrillo:
ah, parece que voy entendiendo es como Poliformismo de metodos no..?
Navegación
[#] Página Siguiente
Ir a la versión completa