2012-08-02 71 views
0

我想創建一個類,返回基於Booleanstring中的路徑。例如,我有一個名爲ErrorLog的房產。如果當前的環境是發展的字符串的屬性返回是"C:\LogFiles\AppLogs\ErrorLogs"並在生產中,返回的字符串將"D:\LogFiles\AppLogs\ErrorLogs"物業獲取價值根據條件

我能確定的方法對環境和返回boolean - 我只是不知道如何返回正確的路徑。我一直在尋找條件屬性,但我不確定這是最好的方法。

回答

0

您可以使用此

protected String ErrorLog 
{ 
get {return YourMethodThatReturnTrueIfDevelopment() ? "C:\LogFiles\AppLogs\ErrorLogs" : "D:\LogFiles\AppLogs\ErrorLogs";} 

set {ErrorLog = value;} 
} 

定義Get方法,返回Bool是EVAL其環境是什麼,然後用ternary operator返回一個或另一個字符串。

無論如何,這是如何去做你所要求的;我推薦(在看完之後)Icarus的答案

+1

爲什麼是錯誤日誌布爾 - 它不應該是一個字符串? – Brian 2012-08-02 12:23:06

+0

對,錯字錯誤。編輯! – 2012-08-02 12:26:00

1

由於您使用的是VS 2010,因此您應該查看Web.config轉換。藉助此功能,您可以在appSettings部分設置日誌文件的路徑並自動更改它當您將應用部署到生產環境時,將其設置爲適當的值。

有一個非常完整的例子here.

+0

這看起來很有趣 - 我將定義給它一個很好的閱讀,但我會需要這在創建引用的類,其中沒有web.config - 例如業務邏輯層。 – Brian 2012-08-02 12:13:58