「クラシック」メソッドの実装では、通常、次のように BeginInvoke を実行します。
private delegate void FooDelegate();
public void Foo()
{
if(InvokeRequired)
{
BeginInvoke(new FooDelegate(Foo));
return;
}
// Do what you want here
}
メソッドが明示的なインターフェイス メンバー宣言の場合、同じことを行うにはどうすればよいですか? お気に入り:
public void IFace.Foo()
{
// Need to BeginInvoke here
}
これは動作しません:
private delegate void FooDelegate();
public void IFace.Foo()
{
if(InvokeRequired)
{
BeginInvoke(new FooDelegate(IFace.Foo));
return;
}
// Do what you want here
}