我现在有一个资源文件,但最终会增长到更多。每个资源文件都具有一致的Name模式,但在大多数情况下,Value会有所不同。每个资源文件(* .resx)都与我正在构建的类紧密相关。
话虽如此,名称模式是这样的:Key?
,SKey
,UKey?
和SUKey
。
Key?
:?可以是任何一个角色。正则表达式模式类似于Key[A-Z]
UKey?
:?可以是任何一个角色。与Key?
SKey
& SUKey
:这些名称中只有一个可能是任何资源文件我真的只是想知道,在资源文件中提取值的最佳方法是什么,因为它们并不总是在A& A之间具有每个字母。 Z'
ResourceManager resmgr = project.resx_name.ResourceManager;
string[] mtch = resmgr.getstring("Key?").toarray<string>();
然后遍历数组并从结果匹配中构建一个字符串。上面所有指定的Key
模式都将产生字符串值正则表达式模式。
好的,这是我到目前为止的逻辑,任何人都可以有效吗?我还没有完成该类的其他组件的构建,所以我将完成它们的开发,然后开始测试下周中下游。
ResourceSet rs = syntaxhighlighter.vbnet.ResourceManager.GetResourceSet( CultureInfo.CurrentCulture , true , true );
foreach( DictionaryEntry entry in rs ) {
if( Regex.IsMatch( entry.Key.ToString() , "Key" ) ) {
if( Regex.IsMatch( entry.Key.ToString() , "^Key[A-Z]" ) ) {
this._keys += entry.Value.ToString();
} else if( Regex.IsMatch( entry.Key.ToString() , "^SKey$" ) ) {
this._keys += entry.Value.ToString();
} else if( Regex.IsMatch( entry.Key.ToString() , "^UKey[A-Z]" ) ) {
this._ukeys += entry.Value.ToString();
} else if( Regex.IsMatch( entry.Key.ToString() , "^SUKey$" ) ) {
this._ukeys += entry.Value.ToString();
}
}
}
this._attr = @"<(.*\.)?(.+?)(Attribute)?(\((.*)?\))?>";
名称 - 价值