我不想再传递 nameof 了
有的时候抛出一个异常,我们需要知道是哪个方法抛出的异常。那么,我们可以通过传递 nameof 来获取调用者的方法名。但是,感觉很烦,每次都要传递 nameof。那么,有没有更好的方法呢?
CallerLineNumberAttribute
获取调用者的行号。
复制代码
CallerFilePathAttribute
获取调用者的文件路径。
复制代码
可发帖可群聊的技术交流方式已经上线,欢迎通过链接,加入我们一起讨论。 https://www.newbe.pro/links/
CallerMemberNameAttribute
获取调用者的方法名。
复制代码
CallerArgumentExpressionAttribute
获取调用者的参数表达式。C# 10.0 新增。
这个其实很好用,以后再也不用担心 ArgumentException 还需要写一个 nameof 了。
复制代码
总结
通过上面的几个例子,我们可以看到,借助在编译时获取调用者的行号、文件路劲和调用者方法名的特性,我们可以在开发中更加方便的进行日志记录。
参考
感谢您的阅读,如果您觉得本文有用,请点赞、关注和转发。
可发帖可群聊的技术交流方式已经上线,欢迎通过链接,加入我们一起讨论。 https://www.newbe.pro/links/
本文作者: newbe36524
本文链接: https://www.newbe.pro/Others/0x01D-I-don-t-want-to-pass-nameof-anymore/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
版权声明: 本文为 InfoQ 作者【newbe36524】的原创文章。
原文链接:【http://xie.infoq.cn/article/75c192e8a4212fd4bf1fcc1ef】。
本文遵守【CC BY-NC-SA】协议,转载请保留原文出处及本版权声明。
评论