使用C#,我需要做一個反向查找我的資源文件。我知道如何使用ResourceManager類獲取字符串值,但我現在想要做相反的事情。我需要首先將資源文件加載到xml文件中嗎?資源文件中的反向查找?
我想這樣做的原因是因爲我有一些硬編碼的枚舉是英文的,我的資源文件包含英文和西班牙文鍵值。因此,當我的代碼正在尋找WorkflowSupport.Completed枚舉,但工作流程返回「Terminado」而不是「Completed」時,它將失敗。
什麼我特別想做的是:
我有一個SharePoint工作流返回步驟的工作流程是在我已經本地化這個工作流程,所以不用返回「已完成」將返回「Terminado」 。我有一個枚舉符合工作流程各種狀態(完成,取消,重新分配,終止和處理)的五個硬編碼值。由於工作流程返回「Terminado」而不是「Completed」,因此代碼無法將「Terminado」與任何枚舉值相匹配並失敗。我想在我的資源文件中進行反向查找,因此如果獲得像「Terminado」這樣的值,我可以返回 「Completed」併成功將其與枚舉成員「Completed」相匹配。
如果有更好的方式來做到這一點,我所有的耳朵:)
您是否將枚舉名稱與可本地化的字符串值比較? – digEmAll 2012-03-29 17:20:33
是的,在枚舉上使用.ToString()方法。但是,它會失敗,因爲本地化的字符串將是西班牙語,枚舉將是英文 – 2012-03-29 17:24:20
但你爲什麼這樣做?你不能把你的枚舉值「COMPLETED」和你的資源鍵「COMPLETED」改爲2個值:eng:「Completed」,esp:「Terminado」。所以你可以通過文化不變的關鍵字「完成」訪問資源? – digEmAll 2012-03-29 17:29:25