C# 使用参数中的另一个方法调用调用ConditionalAttribute的方法
我专门研究.NETCxamarin.Forms。我不太了解编译器/运行时在幕后如何使用ConditionalAttribute 如果我有一个定义了System.Diagnostics.ConditionalAttribute的方法。大概是这样的:C# 使用参数中的另一个方法调用调用ConditionalAttribute的方法,c#,.net,C#,.net,我专门研究.NETCxamarin.Forms。我不太了解编译器/运行时在幕后如何使用ConditionalAttribute 如果我有一个定义了System.Diagnostics.ConditionalAttribute的方法。大概是这样的: [System.Diagnostics.Conditional("DEBUG")] public void LogDebug(string tag, string message, params object[] args) { DoSomeThi
[System.Diagnostics.Conditional("DEBUG")]
public void LogDebug(string tag, string message, params object[] args)
{
DoSomeThing(tag, message);
SomeLogLibrary.Log($"[{tag}] {message}", args);
}
我称之为
LogDebug("Log data={0}", Newtonsoft.Json.JsonConvert.SerializeObject(somedata));
问题是:未定义调试时是否调用序列化对象
如果SerializeObject或其他方法只是为了记录而打印出来,这很重要,我认为序列化object是一项艰巨的工作。我不想让它工作,除非我正在调试
谢谢。简而言之,整个方法调用将被删除 另请参见有关Microsoft文档的说明: 如果定义了符号,则包括呼叫;否则,电话 包括对接收器和呼叫参数的评估 省略
简而言之,整个方法调用将被删除 另请参见有关Microsoft文档的说明: 如果定义了符号,则包括呼叫;否则,电话 包括对接收器和呼叫参数的评估 省略
为什么不干脆试试呢?在那里调用您自己的方法,设置断点并在发布模式下调试…@ChrFin谢谢。我完全忘了我可以用我自己的方法试试。为什么不干脆试试呢?在那里调用您自己的方法,设置断点并在发布模式下调试…@ChrFin谢谢。我完全忘了我可以用我自己的方法试试。