MethodInvoker Delegat

Definition

Stellt einen Delegaten dar, der eine beliebige Methode in verwaltetem Code ausführen kann, die als "void" deklariert ist und keine Parameter akzeptiert.

public delegate void MethodInvoker();
public delegate void MethodInvoker();
type MethodInvoker = delegate of unit -> unit
Public Delegate Sub MethodInvoker()

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine MethodInvoker Methode zum Aufrufen einer Methode verwendet wird, die die Titelleiste des Anwendungsformulars aktualisiert.

public partial class Form1 : Form
{
    public Form1()
    {
        // Create a timer that will call the ShowTime method every second.
        var timer = new System.Threading.Timer(ShowTime, null, 0, 1000);           
    }

    private void ShowTime(object x)
    {
        // Don't do anything if the form's handle hasn't been created 
        // or the form has been disposed.
        if (!this.IsHandleCreated || this.IsDisposed) return;
        
        // Invoke an anonymous method on the thread of the form.
        this.Invoke((MethodInvoker) delegate
        {
            // Show the current time in the form's title bar.
            this.Text = DateTime.Now.ToLongTimeString();
        });
    }
}
Partial Public Class Form1
    Inherits System.Windows.Forms.Form

    Public Sub New()
        ' Create a timer that will call the ShowTime method every second.
        Dim timer As System.Threading.Timer = _
            New System.Threading.Timer(AddressOf ShowTime, Nothing, 0, 1000)
    End Sub

    Sub ShowTime(ByVal x As Object)
        ' Don't do anything if the form's handle hasn't been created 
        ' or the form has been disposed.
        If (Not Me.IsHandleCreated OrElse Me.IsDisposed) Then Return

        ' Create the method invoker.
        ' The method body shows the current time in the forms title bar.
        Dim mi As MethodInvoker = AddressOf UpdateFormText

        Me.Invoke(mi)
    End Sub

    Sub UpdateFormText()
        Me.Text = DateTime.Now.ToLongTimeString()
    End Sub
End Class

Hinweise

MethodInvoker stellt einen einfachen Delegaten bereit, der zum Aufrufen einer Methode mit einer Liste mit void-Parametern verwendet wird. Dieser Delegat kann verwendet werden, wenn Aufrufe an die Methode eines Steuerelements Invoke ausgeführt werden, oder wenn Sie einen einfachen Delegaten benötigen, aber nicht selbst definieren möchten.

Erweiterungsmethoden

Name Beschreibung
GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt.

Gilt für: