gpt4 book ai didi

c# - 将属性名称发送到方法

转载 作者:太空宇宙 更新时间:2023-11-03 21:26:14 24 4
gpt4 key购买 nike

我有一个问题,类似于过去的问题,但我想知道是否有办法实现这一点:

将属性本身的名称发送到方法,而不直接使用属性。 (IE。不是 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];
}

否则,除了您已经遇到的解决方案之外,没有内置的解决方案。如果您乐于添加额外的依赖项,可以使用 MS BCL Portability Pack为以前版本的 .NET 提供 CallerMemberNameAttribute 或关注 Thomas 在评论中重新创建属性的帖子。

关于c# - 将属性名称发送到方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com