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

dos*_*dos 2 c# reflection

我有一个包含例如的资源文件(MyResources.resx).

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


  etc..etc...
Run Code Online (Sandbox Code Playgroud)

(网站中每页的其中一个.大约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;
}
Run Code Online (Sandbox Code Playgroud)

有人可以建议一个更好的方法来解释我将如何实现它吗?反思是个好主意吗?如果是这样,我怎样才能将这个巨大的方法变成如下所示?

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

}
Run Code Online (Sandbox Code Playgroud)

Kin*_*ing 5

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

public String GetDetails(String pageName) {
  return Properties.Resources.ResourceManager.GetString(pageName);
}
Run Code Online (Sandbox Code Playgroud)