using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp5
{
public class IncrementEventArgs : EventArgs
{
public int IncrementCount { get; set; }
}
class Incrementer
{
public event EventHandler<IncrementEventArgs> CountedDozen;
public void DoCount()
{
IncrementEventArgs args = new IncrementEventArgs();
for (int i = 1; i < 100; i++)
{
if (i % 12 == 0 && CountedDozen != null)
{
args.IncrementCount = i;
CountedDozen(this, args);
}
}
}
}
class Dozens
{
public int DozensCount { get; private set; }
public Dozens(Incrementer incrementer)
{
DozensCount = 0;
incrementer.CountedDozen += IncrementDozensCount;
}
private void IncrementDozensCount(object sender, IncrementEventArgs e)
{
Console.WriteLine($"Incremented at iteration:{e.IncrementCount} {sender.ToString()}");
Console.WriteLine($" DoCount --- {DozensCount}");
DozensCount++;
}
}
class Program
{
static void Main(string[] args)
{
Incrementer incrementer = new Incrementer();
Dozens dozens = new Dozens(incrementer);
incrementer.DoCount();
Console.Read();
}
}
}
C# 事件 通过扩展EventArgs 传递数据
猜你喜欢
转载自blog.csdn.net/zxcvb036/article/details/104099868
今日推荐
周排行