其实编写一个插件,就是利用接口对象的属性,方法,函数来书写相应的事件的处理代码。因此平时我们除了实现接口对象的接口方法外,编写对象事件的处理过程成了最重要的工作。
下面我们以一个实例来了解如何定义和使用事件。
1 事件的定义:
下面在类Person(public Class Person)中定义与引发事件
'public class person
public event wakled(byval distance as integer) 2 引发事件(定义在一个公共的方法里,public sub)
Public Sub walk(ByVal distance As Integer)
mTotalDistance += distance
RaiseEvent walked(distance) End Sub
'end of the class Person
3.接收事件
'要使用关健字
withevents private withevents mPerson as person
4.定义事件的处理程序(handles关键字)
private sub OnWalk(byval distance as integer) handles mperson.walked

end sub
从1-4中是定义与使用事件的全过程,其中1定义事件2引发事件是定义公共类Person中,而3接收事件,4定义事件的处理程序是定义在类的实例中。
其实我们在编写插件是,只需要做好3,4两步就可以了,
PS:在.net中事件是通过委托(delegate)实现了,不知道在K/3bos插件的功能是如何实现了。