2
如果您執行ResourceManager.GetString(Key),則可以獲取資源中項目的值。有沒有一種方法可以通過反向查找來從給定值的資源中獲取密鑰(實質上是de-translate)?反轉ResourceManager
如果您執行ResourceManager.GetString(Key),則可以獲取資源中項目的值。有沒有一種方法可以通過反向查找來從給定值的資源中獲取密鑰(實質上是de-translate)?反轉ResourceManager
您應該可以獲取ResourceSet並遍歷它的值並在相同的情況下返回鍵。請記住,您需要比較值,而不是參考。沿着這些線(不編譯和測試,但類似的東西)
System.Resources.ResourceManager rm =
new System.Resources.ResourceManager("MyAssembly.MyResources",
System.Reflection.Assembly.GetExecutingAssembly());
System.Resources.ResourceSet rs =
rm.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture,
false, false);
System.Collections.IDictionaryEnumerator ide = rs.GetEnumerator();
while(ide.MoveNext())
{
if (ide.Value == val)
return ide.Key;
}
當我這樣做時,我得到一個空的ResourceSet。有任何想法嗎? – brian 2009-02-19 15:42:30