委任者:わかりました。でも、イベントに引っ越すと、よくわからないことがたくさんあります。私は本、MSDN、およびネットワークに関するいくつかの簡単な例を読みましたが、どちらも同じ構造を持っています。たとえば、次のリンクがあります:イベントの例
私は最初の例を取り上げます。著者は、C#イベントに関する最も簡単な例だと言っています。
これが彼のコードです:
public class Metronome
{
public event TickHandler Tick;
public EventArgs e = null;
public delegate void TickHandler(Metronome m, EventArgs e);
public void Start()
{
while (true)
{
System.Threading.Thread.Sleep(3000);
if (Tick != null)
{
Tick(this, e);
}
}
}
}
public class Listener
{
public void Subscribe(Metronome m)
{
m.Tick += new Metronome.TickHandler(HeardIt);
}
private void HeardIt(Metronome m, EventArgs e)
{
System.Console.WriteLine("HEARD IT");
}
}
class Test
{
static void Main()
{
Metronome m = new Metronome();
Listener l = new Listener();
l.Subscribe(m);
m.Start();
}
}
次の行に注意してくださいpublic event TickHandler Tick
。に変更してpublic TickHandler Tick
も、プログラムは同じように実行されます。しかし、それは単なる委任であるため、私が理解している改行。
event
だから、私の質問は:行のキーワードの本当の目的は何ですか: public event TickHandler Tick
。すべての例で常にこのように使用されるため、これは非常に重要ですが、その理由を説明することはできません。
ありがとう :)