イベントに関するオンラインチュートリアルを読んだ後、私はほとんど何が起こっているのかについての考えを持っていると思います。値が5より大きい場合にイベントをトリガーするために、次の非常に単純なコードを開発しました。コードはかなり役に立たないことはわかっていますが、それを使用してポイントを伝えています。(メインの代わりに、ボタンイベントを使用してコードをトリガーしました。)
//declare the delegate
public delegate void MyDelegate(string str);
public class SomeClass
{
public event MyDelegate MyEventFromDelegate;
private int i;
public int I
{
get
{ return i; }
set
{
if (value > 5)
{
MyEventFromDelegate("Value Greater than 5");
i = 0;
}
else
{
i = value;
}
}
}
}
public partial class Form1 : Form
{
public Form1()
{ InitializeComponent(); }
public void Method_To_Call(String rx)
{ MessageBox.Show("This method will be called if greater than 5");}
private void button1_Click(object sender, EventArgs e)
{
SomeClass a = new SomeClass();
a.MyEventFromDelegate +=new MyDelegate(Method_To_Call);
a.I = 12;
}
}
私がここで持っている唯一の懸念は、私たちが声明でイベントを提起したいときです
MyEventFromDelegate("Value Greater than 5");
後で(ボタンクリックイベントで)イベントがトリガーされるたびに呼び出す関数を実際に割り当てる場合は、この時点でイベントにパラメーターを渡します。