背景:我正在使用log4net来处理我正在开发的项目的所有日志记录。一个特定的方法可以在多种情况下被调用,一些情况需要将日志消息作为错误记录,而另一些情况则需要将日志消息作为警告记录。
因此,举个例子,我该如何将以下内容转换:
Public Sub CheckDifference(ByVal A As Integer, ByVal B As Integer)
If (B - A) > 5 Then
log.ErrorFormat("Difference ({0}) is outside of acceptable range.", (B - A))
End If
End Sub
把它转化为更符合以下内容的形式:
Public Sub CheckDifference(ByVal A As Integer, ByVal B As Integer, "Some delegate info here")
If (B - A) > 5 Then
**delegateinfo**.Invoke("Difference ({0}) is outside of acceptable range.", (B - A))
End If
End Sub
那么我可以调用它并传递log.ErrorFormat或log.WarnFormat作为委托吗?
我正在使用VB.NET和VS 2008以及.NET 3.5 SP1。此外,我对委托还比较新,因此如果应该改变问题的措辞以消除任何歧义,请告诉我。
编辑:还有,我如何在类构造函数中初始化委托为ErrorFormat或WarnFormat?是否像
myDelegate = log.ErrorFormat
这样简单?我想象中肯定不止这些(请原谅我对这个主题的无知 - 委托确实是我想要了解更多的东西,但到目前为止它们已经超出了我的理解范围)。