event事件的定义之前首先要定义委托,根据委托来定义事件,事件指向的方法的返回值要与委托的定义相一致;
程序如下:判断1-100中的偶数,如果是则打印,在判断是否为t事件的定义之前首先要定义委托,根据委托来定义事件,事件指向的方法的返回值要与委托的定义相一致;
程序如下:判断1-100中的偶数,如果是则打印,在判断是否为偶数的循环之中,如果是则调用事件处理。
返回值得处理主要是对事件处理语句处理
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace events
{
public delegate int handleEvenNumber(EvenNumber args);
public class EvenNumber
{
public int evennumber;
public EvenNumber(int evenNumber)
{
this.evennumber = evenNumber;
}
int evenNumber
{
get { return this.evenNumber; }
}
}
public class JudgeEvenNumber
{
internal event handleEvenNumber EventNumber;
internal void Judge()
{
for (int i =0;i<=100;i++)
{
if(i%2 == 0)
{
EvenNumber args = new EvenNumber(i);
Console.WriteLine( EventNumber(args));
//EventNumber(args)调用的函数的返回值在事件调用语句处处理,这里相当
//于用事件指向的函数来替换
}
}
}
}
class Program
{
static void Main(string[] args)
{
JudgeEvenNumber myEvent = new JudgeEvenNumber();
myEvent.EventNumber += new handleEvenNumber(new Program().printEvenNumber);
myEvent.Judge();
}
int printEvenNumber(EvenNumber args)
{
return args.evennumber;
}
}
}