如何在项目中包装每个功能

本文关键字:功能 包装 项目 | 更新日期: 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/