Z
Zach
Re the example I code below.
I have tried to make a very consise example
of events / eventshandling;
would you please comment?
(Don't tell me to read a book.)
Thanks,
Zach.
using System;
namespace EventsHandlingTest
{
public class TestClass
{
public class MakeEventArgs:EventArgs
{
public readonly int counter;
public MakeEventArgs(int counter)
{
this.counter = counter;
}
public override string ToString()
{
return counter.ToString ();
}
}
public class Publish
{
public delegate void EventHandler(object action, MakeEventArgs dh);
public event EventHandler onLimit;
int limit = 100;
int number = 0;
public void generateEvents()
{
while(true)
{
if(number++ > limit-2)
{
MakeEventArgs dh = new MakeEventArgs(number);
onLimit(this,dh);
number = 0;
}
}
}
}
public class SubscribingClass
{
public void subscribe(Publish publish)
{
publish.onLimit += new
EventsHandlingTest.TestClass.Publish.EventHandler(publish_onLimit);
}
public void publish_onLimit(object publish, MakeEventArgs dh)
{
Console.WriteLine(dh.ToString());
}
}
static void Main()
{
Publish publish = new Publish();
new SubscribingClass().subscribe(publish);
publish.generateEvents();
}
}
}
I have tried to make a very consise example
of events / eventshandling;
would you please comment?
(Don't tell me to read a book.)
Thanks,
Zach.
using System;
namespace EventsHandlingTest
{
public class TestClass
{
public class MakeEventArgs:EventArgs
{
public readonly int counter;
public MakeEventArgs(int counter)
{
this.counter = counter;
}
public override string ToString()
{
return counter.ToString ();
}
}
public class Publish
{
public delegate void EventHandler(object action, MakeEventArgs dh);
public event EventHandler onLimit;
int limit = 100;
int number = 0;
public void generateEvents()
{
while(true)
{
if(number++ > limit-2)
{
MakeEventArgs dh = new MakeEventArgs(number);
onLimit(this,dh);
number = 0;
}
}
}
}
public class SubscribingClass
{
public void subscribe(Publish publish)
{
publish.onLimit += new
EventsHandlingTest.TestClass.Publish.EventHandler(publish_onLimit);
}
public void publish_onLimit(object publish, MakeEventArgs dh)
{
Console.WriteLine(dh.ToString());
}
}
static void Main()
{
Publish publish = new Publish();
new SubscribingClass().subscribe(publish);
publish.generateEvents();
}
}
}