基于密钥返回资源

时间:2011-10-02 23:22:28

标签: c# resources embedded-resource

根据我的previous question,看起来资源资源在我的项目中不起作用。因此,计划#2是通过resx文件使用常规资源。

我的问题的核心是:是否可以编写一个带字符串键的函数,然后返回该资源?我用反射尝试了这个,但我无法理解工作

以下是我希望它如何工作的示例。假设我有一个Resources.resx文件,它有两个文件资源:MainMapOverWorld。我想编写像以下一样工作的函数:

string mainMapContent = getFromResources("MainMap"); // => returns Resources.MainMap
string overWorldCOntent = getFromResoures("OverWOrld"); // => returns Resources.OverWorld

我尝试使用反射来创建Resources类的实例,但是当我意识到构造函数是内部的并且没有我可以使用的空构造函数时,它会被保释。

有没有办法写这个getFromResources函数?我无法理解。

注意:如果可以的话,我可能会将它放入库中;它也需要与Silverlight运行时一起使用。

1 个答案:

答案 0 :(得分:2)

通过代码生成生成的强类型资源类基于无类型的ResourceManager类。您应该可以使用ResourceManager.GetObject