这段代码基本上是这样做的:
class Program{ static void Main() { var propName = Nameof<SampleClass>.Property(e => e.Name); Console.WriteLine(propName); }}public class Nameof<T>{ public static string Property<TProp>(expression<Func<T, TProp>> expression) { var body = expression.Body as Memberexpression; if(body == null) throw new ArgumentException("'expression' should be a member expression"); return body.Member.Name; }}(当然是3.5码…)



