Col*_*nic 12 .net c# visual-studio
当我将文件构建为"嵌入式资源"时,Visual Studio会根据其在项目中的路径为其在程序集中指定名称.例如.我的文件cases/2013.1/colours.xml被赋予一个资源名称,其中包含零星的下划线cases._2013._1.colours.xml.
我的问题是 - 这个名字是如何确定的?规则是否记录在案?Visual Studio使用的方法在哪里?
编辑:我问,因为我正在处理大量这些事情,能够从文件路径中推断出资源名称会很有帮助.
Han*_*ant 16
如MSDN Library文章所述,Resgen.exe使用StronglyTypedResourceBuilder.VerifyResourceName()方法实现的规则.我只是复制MSDN库所说的内容:
如果key参数是空字符串(""),则返回由单个下划线字符(_)组成的字符串.如果key参数不是空字符串,则VerifyResourceName方法会根据provider参数指定的语言将字符串中的每个字符与一组无效标记进行比较.字符串中的任何无效字符都将替换为下划线字符.将用下划线替换的字符如下:
''(空格),U + 00A0(不间断空格),'.' (期间),','(逗号),';' (分号),'|','〜','@','#','%','^','&','*','+',' - ','/','\ ',''','>','?','[',']','(',')','{','}','''(引用),''''(撇号),':'和'!'.
注意
强类型资源不允许使用语言关键字(例如if,for等)作为资源键名称.但是,System.CodeDom设计模式允许通过在关键字前加下划线字符来使用语言关键字.VerifyResourceName方法调用CreateValidIdentifier方法来强制执行此设计.例如,如果使用与语言关键字相同的资源名称(例如for),则名称在生成的强类型资源类中显示为_for.
查看StronglyTypedResourceBuilder类的源代码,文档是准确的.
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |