如何在项目中包装每个功能
本文关键字:功能 包装 项目 | 更新日期: 2023-09-27 18:15:10
我在我的WinForms项目中有很多函数,我使用NLog进行日志记录。我想有能力包装每个函数与nlogger.Info("start")
和nlogger.Info("end")
,这样我就会知道在哪里发生了实际的异常或代码当前运行的地方。
是否有一种聪明的方法来做到这一点,或者我需要从上面的所有函数中放置行?
我相信PostSharp可以为您做到这一点,并且可以应用于程序集级别(通过程序集级别属性)。但是,我对潜在的性能影响持谨慎态度。"aspect"应该非常简洁。
如果你不想手工做,你可以考虑面向方面编程。
总结一下它是什么,它匹配运行并在之前,之后或周围提供"建议"的函数。因此,您可以轻松地创建一个在所有函数中运行并添加日志的程序。我从未在c#中使用过它,但我在Java中使用过它。
你可以找到一个。net类。阅读这篇文章获取更多信息:
http://www.developerfusion.com/article/5307/aspect-oriented-programming-using-net/