У меня есть метод, похожий на этот:
static string GetVariableName<T>(Expression<Func<T>> expression)
{
var body = expression.Body as MemberExpression;
return body.Member.Name;
}
, который дает мне имена переменных.Все, кто упоминает Reflection, говорят, что это плохо для производительности, поэтому я хочу кешировать результат, чтобы отражение могло происходить только один раз для каждой переменной.Пример:
GetVariableName(() => Model.Field1) // Does Reflection.
GetVariableName(() => Model.Field2) // Does Reflection.
GetVariableName(() => Model.Field1) // Uses Cache.
GetVariableName(() => Model.Field2) // Uses Cache.
Я использую этот Util для регистрации параметров и хочу начать использовать его для создания JQuery
селекторов в Asp.net Mvc3
приложении
$('#'+ @(GetVariableName(()=> Model.FieldName))).Val();
Есть идеи?