举一个接口封装事件的小例子(c#)?

来源:百度知道 编辑:UC知道 时间:2024/06/22 21:39:27

当大家具有共同行为,但是行为的实现方式不同时,则可以把这个共同行为封装成一个接口,具有该行为的类来具体实现该接口。
例如:人与动物都需要移动,那么移动就可以作为一个接口
public interface IMove
{
public void Move();
}
这个接口里有两个对象都具有的共同行为移动
在定义人与动物时,分别实现该接口
public class Person : IMove
{
public void Move()
{
................
}
}

public class XXXX : IMove
{
public void Move()
{
............
}
}

在类中实现接口事件
在类中声明事件,然后在适当的位置调用该事件。

复制代码
public interface IDrawingObject
{
event EventHandler ShapeChanged;
}
public class MyEventArgs : EventArgs {…}
public class Shape : IDrawingObject
{
event EventHandler ShapeChanged;
void ChangeShape()
{
// Do something before the event…
OnShapeChanged(new MyEventsArgs(…));
// or do something after the event.
}
protected virtual void OnShapeChanged(MyEventArgs e)
{
if