Hola, pretendo hacer una llamada a un metodo sin saber su nombre, porque lo tengo almacenado en BD o en una variable.
Creo que se utiliza la clase System.Reflection pero no sé cómo.
¿Alguien puede ayudarme?
Gracias. Guitar.
| |||
Llamar a un metodo sin saber el nombre Hola, pretendo hacer una llamada a un metodo sin saber su nombre, porque lo tengo almacenado en BD o en una variable. Creo que se utiliza la clase System.Reflection pero no sé cómo. ¿Alguien puede ayudarme? Gracias. Guitar. |
| ||||
Re: Llamar a un metodo sin saber el nombre No tengo idea de porque quieras hacer eso, pero puedes iniciar con reflection msdn |
| |||
![]() Hola, me explico un poco más ![]() Estoy haciendo un programita de extracción de datos; para ello leo de una BD SQLServer los datos que tengo que extraer y con qué método los tengo que tratar. En C# guardo el nombre el nombre del método en una variable y lo tengo que ejecutar, pero no se cómo. Si alguien me puede poner un ejemplo de Reflection se lo agradecería. Muchas gracias por adelantado |
| |||
Re: Llamar a un metodo sin saber el nombre Ya me la había leído, pero tengo dudas sobre su utilización y preguntaba por si me poníais un ejemplo real. Para enviarme al google o MSDN no necesito tu ayuda. Por si alguien está en la misma situación que yo, pego aquí el código que estoy utilizando. ![]() public void Test() { MyClass myClass = new MyClass(); MyInterface myInterface = (MyInterface)myClass; MyDoSomethingArgs myArgs = new MyDoSomethingArgs(); TestMethod(myClass, "DoSomething", myArgs); TestMethod(myInterface, "DoSomething", myArgs); } public void TestMethod(object target, string method, params object[] args) { // Do a ton of setup target.GetType().InvokeMember(method, System.Reflection.BindingFlags.InvokeMethod, null, target, args); // Analyze the results and tear it all down } Saludos y gracias, Guitar |