>>394
これでいけるな。すげー

 static string GetName<T> (Expression<Func<T>> e) {
  var member = (MemberExpression)e.Body;
  return member.Member.Name;
 }

 var mat = new Material();
 mat.Color = 100;
 Console.WriteLine ("{0} = {1}", GetName(() => mat.Color), mat.Color);

ラムダ式を作らないといけないので()=>が少し冗長だけどぎりぎり許せるレベル
これは目から鱗が落ちる落ちる