私が読んだものから、デリゲートの定義は次のとおりです。
デリゲートは、メソッドを参照する型です。デリゲートにメソッドが割り当てられると、そのメソッドとまったく同じように動作します。デリゲートメソッドは、他のメソッドと同じように、パラメーターと戻り値を使用して使用できます。
これで、デリゲートを使用してスレッドを介してテキストボックスを言うフォームオブジェクトに書き込む方法を理解しましたが、デリゲートでアドレス指定されたメソッドがフォーム上のすべてのオブジェクトにアクセスする方法を理解できません。誰かがこれを片付けることができれば幸いです。
編集:これがデリゲートを作成する方法です
public delegate void MyDelegate(string str,int str2);
void main()
{
Thread t = new Thread(RunInThread); //Method that will run in a separate thread
t.Start();
}
void RunInThread ()
{
MyDelegate delInstatnce = new MyDelegate(AddControl); //Attach a method
this.Invoke(delInstatnce,"First Parameter",1001);
}
void AddControl(string str,int str2)
{
//Why could you access all the form components from here ?
}