Tag: 条件属性

使用ConditionalAttribute还会删除参数计算吗?

我尝试了以下代码: class Magic { [Conditional(“DEBUG”)] public static void DoMagic( int stuff ) { } public static int ComputeMagic() { throw new InvalidOperationException(); } } class Program { static void Main(string[] args) { Magic.DoMagic(Magic.ComputeMagic()); } } 并且看起来在Release版本中没有抛出exception,因此不仅删除了用ConditionalAttribute标记的方法的调用,而且还消除了参数计算。 这样的行为有保障吗?