Data una classe X_Class ed una proprietà Y_Property di tipo Zeta:

        class X_Class

        {

            public Zeta Y_Property { get; set; }

        }

ricavare il nome della proprietà sotto forma di stringa in maniera programmatica (hint: usare la versione 4.x del Framework).

BONUS POINT: L’esercizio ha anche un suo perché, stabilire quale.

Soluzione:

public static string YPropToString()

{

    return ((MemberExpression)
     ((Expression<Func<X_Class, object>>)
       ((o) => o.Y_Property)).Body).Member.Name;

}

Probabilmente si può fare di meglio. Lo scopo, come spiegato nei link dei commenti, è di fare in modo che il codice non compili se viene rinominata una proprietà

-quack