gpt4 book ai didi

c# - 一种使用反射访问所有资源值的方法

转载 作者:行者123 更新时间:2023-12-02 21:42:38 24 4
gpt4 key购买 nike

我有一个资源文件(MyResources.resx),其中包含例如。

       Name   |   Value   |
----------|-----------|
PageA | aaaaa |
PageB | bbbbb |
PageC | ccccc |


etc..etc...

(网站中的每个页面都有一个。大约 100 页)

在我的类文件中,我有以下内容:

public String GetDetails(String pageName)
{
string detail = "";

if (pageName == "PageA")
{
detail= MyResources.PageA;
}
if (pageName == "PageB")
{
detail= MyResources.PageB;
}
if (pageName == "PageC")
{
detail= MyResources.PageC;
}
etc...etc..(roughly 100 if statements)

return detail;
}

有人可以建议一种更好的方法来做到这一点并解释我将如何实现它吗?反射(reflection)是个好主意吗?如果是这样,我怎样才能将这个巨大的方法更改为如下所示?

public String GetDetails(String pageName)
{
return MyResources.pageName;

}

最佳答案

您可以使用在命名空间Properties中自动生成的类Resources的静态属性ResourceManager:

public String GetDetails(String pageName) {
return Properties.Resources.ResourceManager.GetString(pageName);
}

关于c# - 一种使用反射访问所有资源值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093013/

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