<p>I have an application on which I am implementing localization.</p>

<p>I now need to dynamically reference a name in the resouce file.</p>

<p>assume I have a resource file called Login.resx, an a number of strings: foo="hello", bar="cruel" and baz="world"</p>

<p>normally, I will refer as: 
String result =Login.foo;
and result=="hello";</p>

<p>my problem is, that at code time, I do not know if I want to refer to foo, bar or baz - I have a string that contains either "foo", "bar" or "baz". </p>

<p>I need something like:</p>

<p>Login["foo"];</p>

<p>Does anyone know if there is any way to dynamically reference a string in a resource file?</p>

You'll need to instance a
```
ResourceManager
```
for the
```
Login.resx
```
:
```
```
var resman = new System.Resources.ResourceManager(
    "RootNamespace.Login",
    System.Reflection.Assembly.GetExecutingAssembly()
)
var text = resman.GetString("resname");
```
```
It might help to look at the generated code in the code-behind files of the resource files that are created by the IDE. These files basically contain readonly properties for each resource that makes a query to an internal resource manager.