2012-08-04 72 views
0

我試圖把這個字符串在我的資源:Environment.CurrentDirectory在資源

Environment.CurrentDirectory + \\Server Files\\ 

但每當我加載字符串,則Environment.CurrentDirectory部分顯示爲正常的文本,而不是當前目錄路徑。:(

例:

Console.WriteLine(Resources.ServerFilesLocation); // Doesn't give me a path, but just plain text. 
+2

您需要通過覺得這一會兒。你如何期望一個值*很大程度上取決於運行時環境,比如應用程序的安裝位置,當你將它的值凍結到資源字符串中時,它仍然是準確的?這是行不通的。 – 2012-08-04 14:16:12

+0

Awh,所以沒有辦法,這將工作:(? – 2012-08-04 14:16:50

+1

資源中的字符串就是這樣 - 一個字符串。它不被編譯和解釋。資源管理器加載它原樣並返回給你。希望可以通過在資源中放置一個格式字符串並在運行時用String.Format格式化來實現 – 2012-08-04 14:17:50

回答

2

任何運行環境價值不能存儲在資源字符串你應該做的是創造之間的一層東西像:

static class ResourceManager 
{ 
    public static string ServerFilesLocation { 
     get { 
      return String.Format(Resources.ServerFilesDirectory, Environment.CurrentDirectory); 
      // ServerFilesDirectory = "{0}\\Server Files\\" or something similar 
     } 
    } 
} 

而且使用它像:Console.WriteLine(ResourceManager.ServerFilesLocation);

+0

這很好用,謝謝: )。 – 2012-08-04 15:46:04