C#使用Conditional()和环境变量

时间:2010-05-05 14:03:26

标签: c# visual-studio-2010

如何使用条件(“Condition1”)属性,其中“Condition1”是环境变量。帮助说可以做但不说怎么做?

3 个答案:

答案 0 :(得分:5)

我相信这正是您所寻找的http://yogesh.jagotagroup.com/blog/post/2008/03/01/CSharp-Conditional-attribute.aspx

“环境变量”一词指的是VS环境,而不是操作系统或任何其他环境。您只需使用DEBUG或任何自定义变量标记您的类或方法;然后,这些类和方法在编译时仍然存在,但是当生成IL代码时,它们只是被跳过 - 如果没有定义变量(如示例所示)。

希望这有帮助。

的Pz, TaskConnect开发人员

答案 1 :(得分:3)

不确定Conditional(string condition)的作用,但您可以使用Environment.ExpandEnvironmentVariables获取环境变量。


如果你在谈论ConditionalAttribute,那你就不走运了。此属性在开发计算机(或构建服务器)上的COMPILE TIME进行评估。它对RUNTIME没有影响,你可能希望根据用户的机器状态做一些不同的事情(由环境变量指示)。

您可以使用前面提到的Environment类方法在方法体内确定是否应继续执行。这可能是你最好的选择。

答案 2 :(得分:0)

除了创建环境变量(例如,值为1)之外,您不需要做任何其他事情,然后在ConditionalAttribute中按名称引用它。需要在“环境变量”对话框中创建可变颜色 ,该对话框可通过“系统属性”对话框的高级选项卡访问;即你不能只打开一个命令提示符并在那里设置变量,因为该值只存在于该提示符中,并在提示符关闭时丢失。