物业获取价值根据条件

问题描述:

我想创建一个类,返回基于Booleanstring中的路径。例如,我有一个名为ErrorLog的房产。如果当前的环境是发展的字符串的属性返回是"C:\LogFiles\AppLogs\ErrorLogs"并在生产中,返回的字符串将"D:\LogFiles\AppLogs\ErrorLogs"物业获取价值根据条件

我能确定的方法对环境和返回boolean - 我只是不知道如何返回正确的路径。我一直在寻找条件属性,但我不确定这是最好的方法。

您可以使用此

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

由于您使用的是VS 2010,因此您应该查看Web.config转换。借助此功能,您可以在appSettings部分设置日志文件的路径并自动更改它当您将应用部署到生产环境时,将其设置为适当的值。

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

+0

这看起来很有趣 - 我将定义给它一个很好的阅读,但我会需要这在创建引用的类,其中没有web.config - 例如业务逻辑层。 – Brian 2012-08-02 12:13:58