我已经使用反编译器研究了一些微软的程序集。我在每个程序集中都找到了“资源”文件夹。他们有一些价值。但我没有在汇编代码中找到任何对这个值的引用。谁能告诉我为什么我们使用资源?以及为什么我在反编译代码的任何地方都没有找到资源名称。
您可以看到我选择了 System.Data.Entity.Design.resources,它位于“Resources”命名文件夹下。这些名称-值对在程序集中有什么用?那是我的问题。这个名称-值对在代码中的什么地方使用?
资源字符串按名称加载(如ResourceManager.GetString),因此无需在源代码中查找完整的字符串名称。其他一些程序集也可以使用字符串。
即资源:
Message_BadOne -> "Bad things happened"
Message_Cool -> "Soo cooooll"
代码:
Console.WriteLine(resourceManager.GetString(
"Message" + (isItCool? "_Cool" : "_BadOne"));