使用VS2010和.net V4.0我想達到以下目的:C#字符串資源值作爲枚舉字符串部分值?
我已經有2個資源文件在我的項目中用於2種語言 - 英語和捷克語。
我必須說,資源管理.NET是優秀的,我驚訝甚至實現例如字符串時獲得代碼完成:
string desc = Strings.ResourceManagerDesc
這獲取與線程的當前區域性關聯的字符串。
現在我試圖創建一個Enum,它可以從字符串資源中解釋Enum的字符串部分。以下列方式(這個代碼不工作):
public enum DownloadStatus
{
1 = Strings.DownloadState_Complete,
2 = Strings.DownloadState_Failed,
3 = Strings.DownloadState_InProgress
}
這是一個由例子,但你可以在這裏看到這一點。由於上述代碼不起作用,是否有最佳實踐方式來實現我想要的?
你究竟想達到什麼目的? – 2010-06-04 10:11:46
@Robert,可以說我有一個典型的枚舉包含值準備,設置,去 - 現在當我做一個myEnum.ToString()我得到字符串值準備好,設置,打印出來(取決於如果枚舉是1,2 ,3)。我想要做的是根據文化本地化這個字符串值,Enum.ToString應該根據當前的文化打印值。 – 2010-06-04 10:14:32
@JL添加了一個本地化枚舉的答案。應該注意的是,你不能使用Enum.ToString()來枚舉枚舉字符串,但是你可以通過一個方法來實現本地化,從而將枚舉轉換成資源字符串,然後你可以從資源中檢索它。 – 2010-06-07 04:11:19