MSDN上的页面Names of Resources说明如下。
使用点分隔符(“。”)来嵌套具有明确层次结构的标识符。
例如,
Menus.FileMenu.Close.Text
和Menus.FileMenu.Close.Color
等名称符合此指南。
我该怎么做?当我尝试时,我被告知一个点在资源标识符中无效,就像这样。
我能理解为什么它无效 [1] ,这就是为什么我总是认为无法嵌套资源标识符,直到现在才尝试......但是MSDN说我可以。我错过了什么?
[1]查看自动生成的Resource.Designer.cs
文件。
答案 0 :(得分:2)
我也看过这个,看起来它已经存在了几年了。
强类型生成器生成强类型类,并将每个资源映射到该类的属性。资源名称(标识符)将用作属性的名称。带有点字符的标识符在C#中无效(正如您在问题中声明的那样)。但是,生成器将使用下划线替换点,因此您仍然可以获得有效的强类型类。
我通常只用下划线替换点。虽然他们在指南中仍然没有改变它,但这很奇怪。 (或许我错过了什么?)