Delegaten als Parameter in VB.NET

Vorgeschichte: ich bin mit log4net zu behandeln, alle für die Protokollierung für ein Projekt an dem ich arbeite. Eine bestimmte Methode aufgerufen werden kann, unter verschiedenen Umständen-einige, die garantieren, werden die log-Meldungen werden Fehler-und andere, die Gewähr für die log-Meldungen werden Warnungen.

So, als ein Beispiel, wie konnte ich drehen

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

In etwas mehr entlang den Linien von:

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

So, dass ich es nennen könnte und pass anmelden.ErrorFormat oder log.WarnFormat als Delegierter?

Ich bin mit VB.NET mit VS 2008 und .NET 3.5 SP1. Auch ich bin ziemlich neu, um die Delegierten im Allgemeinen, so dass, wenn diese Frage sollte anders formuliert zu entfernen Unklarheiten, lasst es mich wissen.

EDIT: Auch, wie konnte ich initialisieren die Delegierten entweder die ErrorFormat oder die WarnFormat im Konstruktor der Klasse? Wäre es so einfach, wie myDelegate = log.ErrorFormat? Ich könnte mir vorstellen, es ist mehr als das (verzeihen Sie meine Unwissenheit über das Thema -- die Delegierten sind wirklich etwas, das ich mehr darüber erfahren möchten, aber bisher haben Sie entzog sich meinem Verständnis).

  • Sie können pass-Delegaten als parameter in VB.NET (und C#). Look hier für ein Beispiel.
InformationsquelleAutor jerhinesmith | 2008-09-22
Schreibe einen Kommentar