Por lo que veo, estarias necesitando algo similiar al eval de los
lenguajes dinamicos. Es decir tener la posibilidad de tomar un fragmento de
codigo y ejecutarlo desde tu programa.

Si es asi, podrias pegarle una mirada al proyecto Roslyn (C# compiler as a
service) Basicamente te permite ejecutar codigo C# on the fly.

La otra opcion que tenes, es implementar un parser a mano que tome el codigo
de la base de datos, lo transforme en una lambda, lo compile a delegate y lo
ejecute (tambien on the fly). Yo implemente algo de este estilo, al principio
parece chino, pero despues de un rato te resulta natural. Lo unico complejo (al
menos para mi) fue implementar la  precedencia de operadores, pero creo que
eso aplica solo si tenes reglas complejas, no se cual es tu caso.

Si vas a ir  por la opcion dos, podrias mirar el codigo de IronPython o
la DLR (se puede bajar de codeplex) ahi te vas a dar cuenta como se puede
compilar un fragmento de codigo y ejecutarlo en runtime.

 

Saludos, Ale Miralles

http://amiralles.com.ar

 

PS: Perdon si la respuesta llego dos veces. La primera la mande desde el
movil y me parecio que no llego.

> 

> 

> Gracias Marcelo, el Winforms, y en el futuro puede haber algo de
ASP.Net.Son 

> Mascaras y validaciones cruzadas. Saludos. Javier. 

> 

> 

> From: [email protected] 

> To: [email protected] 

> Subject: [puntonet] Consulta sobre Reflexion. 

> Date: Mon, 30 Jan 2012 12:19:56 -0300 

> 

> 

> 

> 

> Hola Winforms o ASP.Net ?Qué tipo de validaciones ? Mascaras de
entrada, 

> validaciones cruzadas de entre los campos ? From: [email protected] 

> [mailto:[email protected]] On Behalf Of Javier Osvaldo Chércoles


> Sent: Monday, January 30, 2012 11:09 AM 

> To: [email protected] 

> Subject: [puntonet] Consulta sobre Reflexion. 

> Importance: High 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 

> 

> 


Responder a