MethodInvoker Temsilci
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Void olarak bildirilen ve parametre içermeyen yönetilen kodda herhangi bir yöntemi yürütebilen bir temsilciyi temsil eder.
public delegate void MethodInvoker();
public delegate void MethodInvoker();
type MethodInvoker = delegate of unit -> unit
Public Delegate Sub MethodInvoker()
Örnekler
Aşağıdaki kod örneği, uygulama formunun başlık çubuğunu güncelleştiren bir yöntemi çağırmak için nasıl kullanılacağını MethodInvoker gösterir.
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
Açıklamalar
MethodInvoker void parametre listesiyle bir yöntemi çağırmak için kullanılan basit bir temsilci sağlar. Bu temsilci, denetimin Invoke yöntemine çağrı yaparken veya basit bir temsilciye ihtiyacınız olduğunda ancak kendiniz tanımlamak istemediğinizde kullanılabilir.
Uzantı Metotları
GetMethodInfo(Delegate) |
Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır. |