3 回答
TA贡献1906条经验 获得超10个赞
是的,[Conditional(...)]除非您使用调试配置,否则只需在您需要“不存在”的方法上放置一个属性:
[System.Diagnostics.Conditional("DEBUG")]
public static void Alpha(String s)
{
Console.WriteLine(s);
}
除非存在指定的符号,否则对此类方法的所有调用都会被有效删除(未编译)。
请注意,有一个限制:[Conditional(...)]只能用于void方法。
TA贡献1853条经验 获得超18个赞
您可能需要ConditionalAttribute:
using System;
using System.Diagnostics;
public class C {
public Object _obj = new object();
public void M()
{
Alpha("This goes away in Release");
Alpha(_obj.GetHashCode() + "...this is ommited");
}
[Conditional("DEBUG")]
public static void Alpha(String s)
{
Console.WriteLine(s);
}
}
有关结果,请参阅 SharpLab。
TA贡献1829条经验 获得超7个赞
您可能需要ConditionalAttribute:
using System;
using System.Diagnostics;
public class C {
public Object _obj = new object();
public void M()
{
Alpha("This goes away in Release");
Alpha(_obj.GetHashCode() + "...this is ommited");
}
[Conditional("DEBUG")]
public static void Alpha(String s)
{
Console.WriteLine(s);
}
}
有关结果,请参阅 SharpLab。
- 3 回答
- 0 关注
- 191 浏览
添加回答
举报