Just another WordPress site

delegateを使用してメソッドを呼び出す

2016.06.03

delegateを使用してメソッドを呼び出す

delegateを使用して間接的にメソッドを呼び出すことができます。

[アクセス修飾子] delegate 戻り値の型 デリゲート名(引数, 引数…);

delegateは+=演算子を使用することで複数のメソッドを代入することも出来ます。

この代入されたメソッドはdelegateから呼び出すことで逐次処理が実行されます。


namespace WindowsFormsApplication1

{

   public delegate void SampleDelegate(string str);



   public partial class Form1 : Form

   {

       public Form1()

       {

           InitializeComponent();

       }



       private void button1_Click(object sender, EventArgs e)

       {

           SampleDelegate sd = new SampleDelegate(SampleMethodA);



           sd("デリゲートから呼び出しを行います。");



           sd += new SampleDelegate(SampleMethodB);



           sd("デリゲートから呼び出しを行います。");

       }



       public void SampleMethodA(string str) {

           MessageBox.Show("SampleA:"+str.ToString());

       }



       public void SampleMethodB(string str) {

           MessageBox.Show("SampleB:"+str.ToString());

       }

   }

}



関連記事