Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用参数中的另一个方法调用调用ConditionalAttribute的方法_C#_.net - Fatal编程技术网

C# 使用参数中的另一个方法调用调用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

我专门研究.NETCxamarin.Forms。我不太了解编译器/运行时在幕后如何使用ConditionalAttribute

如果我有一个定义了System.Diagnostics.ConditionalAttribute的方法。大概是这样的:

[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谢谢。我完全忘了我可以用我自己的方法试试。