StronglyTypedResourceBuilder.VerifyResourceName 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
根据指定的输入字符串和代码提供程序,生成一个有效的资源字符串。
public:
static System::String ^ VerifyResourceName(System::String ^ key, System::CodeDom::Compiler::CodeDomProvider ^ provider);
public static string VerifyResourceName (string key, System.CodeDom.Compiler.CodeDomProvider provider);
public static string? VerifyResourceName (string key, System.CodeDom.Compiler.CodeDomProvider provider);
static member VerifyResourceName : string * System.CodeDom.Compiler.CodeDomProvider -> string
Public Shared Function VerifyResourceName (key As String, provider As CodeDomProvider) As String
参数
- key
- String
待验证的字符串,如有必要,则转换为有效的资源名称。
- provider
- CodeDomProvider
CodeDomProvider 对象,它指定将使用的目标语言。
返回
派生自 key
参数的有效资源名称。 如果根据 provider
参数所指定的语言,派生的字符串仍包含无效字符,所有无效标记都会被下划线 (_) 字符或 null
替代。
例外
key
或 provider
为 null
。
注解
key
如果 参数是有效的字符串字符,则返回该字符串。 key
如果 参数是无效字符串或包含无效字符的字符串,则 VerifyResourceName 方法将尝试基于 key
和 provider
参数生成有效的字符串。 如果可以生成有效的字符串,则返回该字符串;否则, null
返回 。
key
如果 参数是空字符串 (“”) ,则返回由单个下划线字符 (_) 组成的字符串。 key
如果 参数不是空字符串,则 VerifyResourceName 方法根据 参数指定的provider
语言将字符串中的每个字符与一组无效标记进行比较。 字符串中的任何无效字符将替换为下划线字符。 将替换为下划线的字符如下所示:
'' (空格) ,U+00A0 (非中断空间) ,'.' (句点) ,','' (逗号) ,';' (分号) ,'|','~','@','#','%', “^”、“&”、“*”、“+”、“-”、“/”、“\<>”、“?”、“[”、“]”、“ (”、“) ”、“{”、“}”、“” (引号) 、“ ( (引号) 、”:“和”!”。
注意
强类型资源不允许使用语言关键字 (如 if
、 for
等) 作为资源键名称。 但是,System.CodeDom设计模式允许通过为关键字 (keyword) 添加下划线字符前缀来使用语言关键字。 方法 VerifyResourceName 调用 CreateValidIdentifier 方法以强制实施此设计。 例如,如果使用的资源名称与语言关键字 (keyword) 相同,例如 for
,则名称在生成的强类型资源类中将显示为 _for
。