Menu

关于C#的委托和事件

2018年5月26日 - 语言特性

C#的委托和事件主要用于GUI图形届面的跳转,当点击事件的时候跳转界面,进行跳转,Unity中也经常使用事件和委托进行开始界面的跳转。

上列子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace eventLearn20160909
{
public class EventTest
{
private int value;

public delegate void NumManipulationHandler();  //定义委托NumManipulationHandler

public event NumManipulationHandler ChangeNum;  //根据委托定义事件ChangeNum

protected virtual void OnNumChanged()
{
if (ChangeNum != null)
{
ChangeNum();
}
else
{
Console.WriteLine(“事件触发(1)!”);
}

}
protected virtual void OnNumChanged2()
{
if (ChangeNum != null)
{
ChangeNum();
}
else
{
Console.WriteLine(“事件触发(2)!”);
}

}
public EventTest(int n)  //设值
{
SetValue(n);
}
public void SetValue(int n)   //触发执行
{
if (value != n)
{
value = n;
OnNumChanged();
OnNumChanged2();
}
}

class Program
{
static void Main(string[] args)
{
EventTest e = new EventTest(0);
Console.WriteLine(“请输入数字:”);
while (true)
{
int i = int.Parse(Console.ReadLine());   //读取数字并设值
e.SetValue(i);
Console.WriteLine(“\n请输入数字:”);
}
}
}
}
}

执行结果:

3

事件触发1

事件触发2

6

事件触发1

事件触发2

9

事件触发1

事件触发2

发表评论

电子邮件地址不会被公开。 必填项已用*标注

%d 博主赞过: