Entradas

Mostrando entradas de mayo, 2012

Conseguir información de un Objeto y de un método con Expresiones Lambda.

En algún momento en nuestra vida de programador, vamos a necesitar extraer el nombre de la clase de algún objeto o de un método. Es ahí donde estos 2 métodos nos pueden ayudar. El primero recibe un objeto y extrae el nombre de la clase: protected string GetClassName( Expression<Func<object>> classToTest ) { string className = classToTest.Body.Type.Name; //Add something interesting! Return className; } Y para llamarlo usaremos la siguiente sintaxis: public class SomeClass { public int SomeMethod( object value ) { string name=this.GetClassName( ( ) => this ); } // Other Methods ... } Nuestro segundo método, recibe un método, que no tiene parámetros y obtiene su nombre y clase a la que pertenece: protected string GetMethodName( Expression<Action> methodToTest ) { string className = ( methodToTest.Body as MethodCallExpression ) .Method.DeclaringType.Name;

Dialogo Modal en MVVM

Imagen
Los Diálogos Modales están entre los elementos más complejos de usar en el patrón MVVM principalmente por la necesidad de separación de ocupaciones que se debe de cumplir. Ciertamente se puede manejar de una manera fácil el manejo de los Diálogos Modales desde la vista y en el caso que deseemos hacer la llamada desde el ViewModel, podemos usar eventos, pero ciertamente no es lo recomendable. Para solucionar el problema se tiene las siguientes opciones: -           Usar el patrón Mediador -           Implementar el dialogo como un servicio En el presente post voy a usar la segunda opción pero omitiendo más que todo el uso del Inversor de Control, ciertamente no es una solución al 100% completa por que se genera tiene un ratio mayor de acoplabilidad, pero hay que tomar en cuenta que en la mayoría de los proyectos no es primordial tal característica y la inversión de tiempo requerida (más que todo en proyectos que poseen mucho código legado o que han sido desarrollados sin toma