(index 〉= StringsSet.Length)) { throw new IndexOutOfRangeException(); } else { StringsSet[index]=value; OnModify(); } }
private void OnModify()
{
EventArgs e=new EventArgs();
if(!(Modified==null))
Modified(this,e);
}
然后我们可以用如下的方法调用:
private void DoIt(){ StringComponent mysc=new StringComponent(); mysc.Modified+=new EventHandler(Called); mysc.Modify(2,"another string");}public void Called(object o,EventArgs e){ Console.WriteLine("Changed");}
在函数DoIt()中,我们首先建立了一个StringComponent类的对象mysc,然后将它的Mofidied事件关联到Called()方法:
mysc.Modified+=new EventHandler(Called);
注意“+=”符号的使用,相反地,如果使用“-=”符号,可以取消这个事件的绑定。
现在我们得到了一个虽然简单,但是比较完整的组件类:
using System;
namespace ComponentCS
{
public class StringComponent
{
private string[] StringsSet;
public event EventHandler Modified;
public int StringLength
{
get
{
return StringsSet.Length;
}
}
public void Modify(int index,string value)
{
if ((index 〈 0) (北联网教程,专业提供视频软件下载)
……