MethodInvoker Delegado

Definición

Representa un delegado que puede ejecutar cualquier método en código administrado que se declara como void y no toma ningún parámetro.Represents a delegate that can execute any method in managed code that is declared void and takes no parameters.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo MethodInvoker utilizar un para llamar a un método que actualiza la barra de título del formulario de la aplicación.The following code example demonstrates how to use a MethodInvoker to call a method that updates the title bar of the application form.

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

Comentarios

MethodInvokerproporciona un delegado simple que se usa para invocar un método con una lista de parámetros void.MethodInvoker provides a simple delegate that is used to invoke a method with a void parameter list. Este delegado se puede usar al realizar llamadas al método de Invoke un control o cuando se necesita un delegado simple pero no se desea definir uno mismo.This delegate can be used when making calls to a control's Invoke method, or when you need a simple delegate but do not want to define one yourself.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.Gets an object that represents the method represented by the specified delegate.

Se aplica a