public class SBY
{
public delegate Boolean isSucceed(string message);
public event isSucceed DeliverNewspaper;
public Boolean GetResult(string dn)
{
if(DeliverNewspaper!=null)
{
DeliverNewspaper(dn);
return true;
}
else
{
return false;
}
}
}
/// <summary>
/// 订阅器
/// </summary>
public class A
{
public Boolean GetNewspaper(string message)
{
if (!string.IsNullOrEmpty(message))
{
Console.WriteLine("A GetData");
return true;
}
else
{
Console.WriteLine("A don't GetData");
return false;
}
}
}
public class B
{
public Boolean GetNewspaper(string message)
{
if (!string.IsNullOrEmpty(message))
{
Console.WriteLine("B GetData");
return true;
}
else
{
Console.WriteLine("B don't GetData");
return false;
}
}
}
public class C
{
public Boolean GetNewspaper(string message)
{
if (!string.IsNullOrEmpty(message))
{
Console.WriteLine("C GetData");
return true;
}
else
{
Console.WriteLine("C don't GetData");
return false;
}
}
}
public class TestEvent
{
static void Main(string[] args)
{
A a = new A();
B b = new B();
SBY sby = new SBY();
sby.DeliverNewspaper += new SBY.isSucceed(a.GetNewspaper);
sby.DeliverNewspaper += new SBY.isSucceed(b.GetNewspaper);
sby.GetResult("send the newspaper");
Console.ReadLine();
}
}