我正在编写扩展以从获取描述和其他属性Enum。我看过使用的示例,FieldInfo而其他使用的示例MemberInfo。有人可以解释一下区别是什么,什么时候可以改变我应该使用的区别?
我有一些代码中充斥着类似于以下的调试表达式:
System.Diagnostics.Debug.WriteLine(System.BitConverter.ToString(data.Take(32).ToArray()));
Run Code Online (Sandbox Code Playgroud)
我能做些什么来防止发布版本评估System.BitConverter.ToString(data.Take(32).ToArray())?
我添加了自己的调试类,允许我WriteLine()根据我想要的报告级别来控制调用,但即使在发布模式下,这两种方法也会评估 Linq 和字符串转换(不是吗)?
---稍后添加---
正如我上面所说,代码中有很多这样的行,我并不特别想把#if DEBUG它们全部都写出来。
我想知道如何避免在 Release 模式下评估 Linq 和 BitConverter,我认为这会影响性能。