Extrayendo nombres de propiedad para reflexión, con Intellisense y compilación en tiempo de compilación

Okay. Entonces, tengo un código que asigna ciertos controles en un winForm a ciertas propiedades en un objeto, para hacer ciertas cosas a los controles cuando ciertas cosas suceden a los datos. Todo bien y bien, funciona bien. No es el problema El problema es que, para agregar elementos a la asignación, llamo a una función que se parece a:

this.AddMapping(this.myControl,myObject,"myObjectPropertyName");

El problema con el que me encuentro es que es muy difícil saber, en el momento de la compilación, la diferencia entre la línea anterior y la siguiente:

this.AddMapping(this.myControl,myObject,"myObjectPropretyName");

Dado que el último parámetro es una cadena, no hay verificación de tiempo de compilación ni nada parecido a th, lo que obligaría a que la cadena en sí misma corresponda a un nombre de propiedad válido en el objeto dado. Además, cosas como Refactor y "Buscar todas las referencias" se pierden este tipo de referencia, lo que resulta en hilaridad cuando cambia el nombre de la propiedad. Entonces, lo que me pregunto es si hay alguna forma de cambiar la función de modo que lo que estoy pasando sea una cadena que represente el nombre de la propiedad de alguna manera, pero con tiempo de compilación comprobando el valor real. Alguien dijo que yo podría hacer esto con Expression Trees, pero he leído sobre ellos y parece que no veo la conexión. Me encantaría hacer algo como:

this.AddMapping(this.myControl,myObject,myObject.myObjectPropertyName);

o inclus

this.AddMapping(this.myControl,myObject.myObjectPropertyName);

@ sería dulce!

¿Algunas ideas

Respuestas a la pregunta(5)

Su respuesta a la pregunta