gpt4 book ai didi

c# - 是否建议使用 MethodBase 来查找用于记录目的的方法名称?

转载 作者:行者123 更新时间:2023-11-30 19:16:41 25 4
gpt4 key购买 nike

我的源代码中几乎每个函数都有以下代码。

string methodName = MethodBase.GetCurrentMethod().Name;

我的问题是

考虑到反射是一件代价高昂的事情,是否建议使用上面的代码来实现相同的目的?

这仅用于记录目的。

最佳答案

不,我不会在你的源代码中到处这样做。

首先,我会使用一个专用的日志记录包,它可能有巧妙的方法来做得更好,并且肯定不会在您的源代码中那么突兀。有多种可用选项(log4net、nlog 等)。方法名到底有多重要?我通常发现,如果我在消息中使用足够的上下文进行记录,我就不需要知道确切的方法名称。这对于异常更为重要。

其次,如果您使用的是 C# 5,则可以使用 CallerMemberNameAttribute让编译器为您指定调用日志记录函数的方法的名称。这显然比在执行时这样做明智得多。

关于c# - 是否建议使用 MethodBase 来查找用于记录目的的方法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22450112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com