所以我有一个ResourceManager指向其中包含一串字符串的资源文件。当我使用文件中不存在的键调用GetString()时,得到了System.Resources.MissingManifestResourceException。我需要找出资源是否包含指定的键,而无需使用异常处理来控制程序流。是否有keys.exists()方法或其他东西?

最佳答案

请注意,默认情况下,似乎新的.net项目的Resources.resx将位于Properties文件夹中,因此您需要像这样创建ResourceManager:

rm = new ResourceManager("MyNamespace.Properties.MyResource", assembly);

或者,通过沮丧并删除/重新创建Resources.resx,您可能会在项目的根目录中创建它,在这种情况下,您之前所做的事情就是:
rm = new ResourceManager("MyNamespace.MyResource", assembly);

将工作。这正是我今天发生的事情,我添加此帖子是为了希望它能避免给别人带来麻烦。

关于.net - 如何在不调用ResourceManager.GetString()并捕获异常的情况下查找ResourceManager是否包含 key ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/497347/

10-11 16:08