这System.Diagnostics.ConditionalAttribute对于分割调试代码片段非常有用,无需使用编译器指令,但它只与返回的方法兼容void.
有没有办法使用它(或等效的东西)的异步方法返回Task?
Eri*_*ert 11
没有.
可以毫无问题地移除void方法,因为无论是否存在方法调用,评估堆栈的净效果都是相同的:零.
无法删除非void方法,因为在删除它的情况下,堆栈上没有任何东西,并且在没有删除它的情况下,堆栈上有一件事:对任务的引用.
换句话说:你期望这样做:
Foo(BarAsync());
Run Code Online (Sandbox Code Playgroud)
如果Foo需要一个Task并被BarAsync删除?