如何在C#中从一个应用程序访问属性资源ID

时间:2011-10-25 06:43:40

标签: c# wpf winforms

我正在一个项目中工作,我有几个解决方案。现在我将一些解决方案的类作为链接用于另一个解决方案。因此,无论我在这些类中添加的资源是什么,在编译我使用类作为链接的解决方案时都会显示错误。

通过代码访问资源我在下面的示例代码中使用:

string textToDisplay = Properties.ResourceFilename.ID_RECOURCE_FOR_TEXT;

更新

驻留在一个解决方案中并链接到另一个解决方案的类正在使用上面的代码从资源文件中获取文本,该文件存在于类所在的同一解决方案的“属性”部分中。我用于控制的资源ID具有多种文化语言(即本地化)目的。

1 个答案:

答案 0 :(得分:0)

如果我理解你正确,你试图访问另一个解决方案程序集中的资源文件,那是不可能的!要访问另一个 solution 程序集中的资源文件,您需要在 solution 程序集中编写一个访问器,为您提取密钥。您可以使用ResourceFilename.ResourceManager.getString("YOUR_ID");

执行此操作

示例:

如果我们在讨论同样的问题,我仍然不会感到害羞,但以下示例应该清除这一点:猜测您在名为CarTuning的程序集中有一个Car资源文件,并且您需要访问这些在名为Driver的第二个集合中。默认情况下,这是不可能的,并且您会收到..does not exist..错误。要解决此问题,您需要在Car程序集中编写一个接受器类,该接受器类接受字符串作为键,并使用CarTuning.ResourceManager.GetString("KEY")来获取请求的值。您无法使用静态类型访问,除非您在访问者中实现switch块而不是GetString() 现在,您可以使用新的写入访问器类从Car程序集中的Driver程序集中获取资源,为您提取值。