У меня вопрос, похожий на то, что было задано в прошлом, но мне интересно, есть ли способ достичь этого:
Отправка методу имени самого свойства без непосредственного использования свойства. (IE. Not GetName (() => ParamSearch1parameter - как показано на другом решении)
Пример кода:
#region Props
public string ParamSearch1
{
get
{
return GetValueFromQueryString(/*Here should come a string called ParamSearch1*/);
}
}
#endregion
#region Helper Methods
private string GetValueFromQueryString(string keyName)
{
return string.IsNullOrEmpty(Request.QueryString[keyName]) ? "" : Request.QueryString[keyName];
}
#endregion
Если вы нацеливаете.NET 4.5, вы можете использовать атрибут CallerMemberName.
public string ParamSearch1
{
get
{
return GetValueFromQueryString();
}
}
private string GetValueFromQueryString([CallerMemberName] string keyName = "")
{
return string.IsNullOrEmpty(Request.QueryString[keyName]) ? "" : Request.QueryString[keyName];
}
В противном случае нет встроенного решения, кроме решений, с которыми вы уже сталкивались. Если вы счастливы добавить дополнительную зависимость, вы можете использовать пакет CallerMemberNameAttribute
MS BCL, чтобы предоставить CallerMemberNameAttribute
предыдущим версиям.NET или следовать за сообщением Томаса при воссоздании атрибута в комментариях.
CallerMemberName
. У меня есть запись в блоге об этом здесь , но мой сайт сейчас не работает ... работает над этим.