2013-08-24 49 views
0

我有一個全球資源文件有很多值最佳方式

目前在代碼中,我這樣調用

TxtSuccess.Text = (string) GetGlobalResourceObject("GlobalResource", "msgSuccess"); 

價值,但如果以後在設計中,我們需要重命名變量然後維護將是一個痛苦。

做這樣的事情會更好嗎?

public class AppGlobalConstants 
{ 
    public string MsgSuccess{ get; private set; } 

    public AppGlobalConstants() 
    { 
     MsgSuccess= (string) GetGlobalResourceObject("GlobalResource", "msgSuccess"); 
    } 
} 

那麼如果以後對球隊想改變一些他們可以做這些全球資源的名稱,以便無需修改其使用這些資源的任何頁面。

我們希望使用全局變量,因爲我們的Web應用程序(asp.net web窗體4.5)計劃將來可用於其他國家和語言。

+0

任何特殊原因不使用VS及其內置支持從RESX自動生成資源類用於定期本地化?如果名稱需要更改,則爲 –

+0

。我們已經開始通過應用程序 - – TheTiger

+0

參考了。我個人更喜歡編譯時間失敗,以完成對每個資源字符串重命名的手動測試,但有些人喜歡手動測試... –

回答

1

我寧願做這樣的事情:

public static class AppGlobalConstants 
{ 
    public static string MsgSuccess 
    { 
     get 
     { 
      return (string) GetGlobalResourceObject("GlobalResource", "msgSuccess"); 
     } 
    } 
} 

這樣,值是靜態的。如果名稱更改,則只需修改此類中的字符串即可。因爲一切都在這個類是靜態的,你可以做這樣的事情:

Console.WriteLine(AppGlobalConstants.MsgSuccess); 

如果你願意,你也可以添加一組訪問的性能。因爲一切都是靜態的,所以不需要創建這個類的實例。

+0

是的這就是我在想 – TheTiger

+0

看起來對我最有效。 –