我根据学习的知识写个练习帮助理解,但我写的时候发现了两种方案,其中一种注释了。为什么还要费事去owner里写个action?直接使用注释里的那种不更简短吗?
注:存在eventEventArgs这种难以阅读的东西,第一个event是指练习用事件名,叫“event”
using System;
namespace _8._17
{
class Program
{
static void Main(string[] args)
{
EventOwner eventOwner1 = new EventOwner();
EventResponder eventResponder1 = new EventResponder();
eventOwner1.Event1 += eventResponder1.EventAction;
//eventOwner1.EventEventHandler1 += eventResponder1.EventAction;
EventEventArgs e = new EventEventArgs();
e.EventInput = "I am trying a event !";
//eventOwner1.EventEventHandler1.Invoke(eventOwner1, e);
eventOwner1.Action(e);
}
}
public delegate void EventEventHandler(EventOwner eventOwner1, EventEventArgs e);
public class EventEventArgs
{
public string EventInput { get; set; }
}
public class EventOwner
{
//public EventEventHandler EventEventHandler1;
public event EventEventHandler Event1;
public void Action(EventEventArgs e)
{
this.Event1.Invoke(this, e);
}
}
public class EventResponder
{
public void EventAction(EventOwner eventOwner1, EventEventArgs e)
{
Console.WriteLine(e.EventInput);
}
}
}