.NET Framework
C# . .NET Framework , Microsoft. , , : . , , EventArgs, , . ,.NET- .
void (object , EventArgs ) {
//...
}
, , this. EventArgs , .
EventArgs , . , EventArgs , , . EventArgs Empty static, EventArgs .
, .NET- .
// .NET- , using System;
// , EventArgs. class MyEventArgs: EventArgs { public int EventNum;
}
// .
Delegate void MyEventHandler(object source, MyEventArgs arg);
// , , class MyEvent {
static int count = 0;
// SomeEvent. public void OnSomeEvent() {
MyEventArgs arg = new MyEventArgs();
if(SomeEvent!= null) { arg.EventNum = count++;
SomeEvent(this, arg);
}
}
}
class X {
public void Handler(object source, MyEventArgs arg) { Console.WriteLine(" " + arg.EventNum +
" X."); Console.WriteLine(": " + source);
Console.WriteLine();
}
}
class Y {
public void Handler(object source, MyEventArgs arg) { Console.WriteLine(" " + arg.EventNum +
" Y."); Console.WriteLine(": " + source);
Console.WriteLine();
}
}
class EventDemo6 { static void Main() {
X obi = new X ();
Y ob2 = new Y ();
MyEvent evt - new* MyEvent ();
// Handler() , evt..SomeEvent += obi. Handler; evt.SomeEvent += ob2.Handler;
// , evt.OnSomeEvent(); evt.OnSomeEvent();
}
}
.
0 X : MyEvent
0 Y : MyEvent
1 X : MyEvent
|
|
1 Y : MyEvent
MyEventArgs, EventArgs. MyEventArgs : EventNum. MyEventHandler, , .NET Framework. , , , EventArgs . Handler (), X Y, .
MyEvent SomeEvent MyEventHandler. OnSomeEvent () SomeEvent, this, MyEventArgs. , MyEventHandler .NET.
EventHandler<TEventArgs> EventHandler
. , , .NET Framework EventHandler<TEventArgs>. ( 18.) TEventArgs , EventArgs . , SomeEvent MyEvent .
public event EventHandler<MyEventArgs> SomeEvent;