MethodInvoker MethodInvoker MethodInvoker MethodInvoker Delegate

定義

表示委派,這項委派可執行 Managed 程式碼中任何宣告為 void 且不採用任何參數的方法。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()
繼承
MethodInvokerMethodInvokerMethodInvokerMethodInvoker

範例

下列程式碼範例示範如何使用MethodInvoker呼叫方法, 以更新應用程式表單的標題列。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

備註

MethodInvoker提供用來叫用具有 void 參數清單之方法的簡單委派。MethodInvoker provides a simple delegate that is used to invoke a method with a void parameter list. 呼叫控制項的Invoke方法時, 或當您需要簡單的委派, 但不想自行定義時, 可以使用這個委派。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.

擴充方法

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

取得表示特定委派所代表之方法的物件。Gets an object that represents the method represented by the specified delegate.

適用於