16

遇到需要根据后面代码提供的密钥访问存储在资源文件中的字符串值的情况。

我怎样才能做到这一点?

注意:资源文件存在于我的解决方案中的一个 Web 项目中,我想从我的 silverlight 应用程序访问它。

4

6 回答 6

23

您可以使用ResourceManager类:

ResourceManager myManager = new ResourceManager(typeof(MyResource));
string myString = myManager.GetString("StringKey");
于 2013-10-19T11:13:47.360 回答
10

假设您的资源文件名为“Resource.resx”,然后您想动态传递密钥,

using System.Resources;
string resVal = Resource.ResourceManager.GetString(dynamicKeyVal);

如果它不起作用,请告诉我,我会努力解决并提供适当的解决方案。

于 2017-11-06T16:21:48.487 回答
4

我通常以这种方式访问​​资源

Resources.MyLocalised.CompanyName;
于 2016-05-25T09:12:39.577 回答
3

You can use as following no need to create ResourceManager instance.Resource file already has inherited from ResourceManager.

string value = MyResource.ResourceManager.GetString("stringKey");

Note:MyResource is shared resource file Name.

于 2013-10-19T11:36:48.680 回答
1

尝试使用:

string resourceValue = HttpContext.GetGlobalResourceObject("resxFilename", "resourceKey").ToString();
于 2013-10-19T11:20:34.943 回答
1

如果您在“属性”下有多个不同语言的“.resx”文件并动态更改资源文件。然后你像这样从后面的代码中获取特定键的值。您不必提及“.resx”文件名。它将自动从当前设置的“.resx”文件(文化)中获取值:

string str=[ProjectName].Properties.Resources.[ResourceKeyName]
于 2020-05-06T20:17:04.243 回答