delegate void SomeDelegate();
SomeDelegate del = delegate() { MessageBox.Show("Hello"); };
del();
delegate void SomeDelegate(string str);
SomeDelegate del = delegate(string str) { MessageBox.Show(str); };
del("Hello");
void InvokeDelegate(SomeDelegate d) { d(); }
InvokeDelegate(delegate() { MessageBox.Show("Hello"); });
若參數為抽象 `Delegate`,需強制轉型:(SomeDelegate)delegate() {...}。
public class MyClass
{
public void LaunchThread()
{
Thread t = new Thread(delegate()
{
MessageBox.Show("Hello from worker thread");
});
t.Start();
}
}
del(arg1, arg2)。