Hola,
Te paso algunos tips para hacer algo básico:
· Para instanciar las reglas a partir del nombre de sus clases,
podés usar la clase System.Activator, que tiene un método CreateInstance()
con varias firmas.
· Si vas a tener reglas en distintos ensamblados ó el ensamblado que
carga y ejecuta las reglas no tiene referencias a los ensamblados de reglas,
te conviene calificar los nombres de clase con el ensamblado, por ejemplo:
MisReglas.Regla1, Reglas.
· Creo que deberías tener una interfaz o clase base común a todas
las reglas, que tenga, por ejemplo, un método Validar(obj). De ese modo,
almacenarías el objeto devuelto por el Activator en una variable de ese
tipo, y llamarías directamente a ese método sin importar de qué regla
concreta se trate.
· En Windows forms no vas a tener problemas de seguridad, pero
revisá la documentación porque probablemente debas ajustar la seguridad en
ASP.NET para correr en fulltrust.
Un saludo.
De: [email protected] [mailto:[email protected]] En nombre de Javier
Osvaldo Chércoles
Enviado el: lunes, 30 de enero de 2012 11:09
Para: [email protected]
Asunto: [puntonet] Consulta sobre Reflexion.
Importancia: Alta
Buenos días, estoy desarrollando un sistema en el que debo implementar una
serie de plantillas que serviran de validaciones. Para dichas validaciones
se escribirian las reglas en una base de datos y se ejecutarian
dinamicamente según requiera el objeto a ser validado.
Me hablaron de reflexion, pero no termino de entender. La idea basicamente
es escribir una clase en un campo de base de datos y se ejecute ese codigo
en tiempo de ejecución.
Estoy trabajando en C# Framework 4.0, cualquier información o ejemplo sera
de gran utilidad.
Saludos.
Javier O. Chércoles