概述
C#中事件允许一个对象将发生的事件通知其他对象,将发生的事件的事件源叫发行者,通知其他的对象叫订阅者,但是订阅者可以定义也可以不定义(事件发生者也可以是时间的订阅者)
定义事件的步骤:
1.定义事件(event关键字)
2.订阅事件
3.触发事件
下面是一个实例的应用
using System;
using System.Collections.Generic;
using System.Text;
namespace Person
{
class User
{
/// <summary>
/// 定义一个委托
/// </summary>
public delegate void DelegateLogin();
/// <summary>
/// 定义一个事件(事件用关键字加委托名来定的且后面无括号)
/// </summary>
public event DelegateLogin EventLogin;
/// <summary>
/// 类的字段和属性
/// </summary>
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string password;
public string Password
{
get { return password; }
set { password = value; }
}
/// <summary>
/// 类的方法(可做为方法的参数即委托)
/// </summary>
public void Login()
{
Console.WriteLine("正在登陆中.....");
//引发事件
if(EventLogin!=null)
{
EventLogin();
}
}
}
}
//
using System;
using System.Collections.Generic;
using System.Text;
namespace Person
{
class EventExample
{
static void Main()
{
User user = new User();
user.Name = "小刚";
user.Password = "123456";
//订阅事件
user.EventLogin += new User.DelegateLogin(user_EventLogin);
//引发事件
user.Login();
}
static void user_EventLogin()
{
Console.WriteLine("登陆成功");
}
}
}
最后
以上就是贪玩大山为你收集整理的c#事件的定义的全部内容,希望文章能够帮你解决c#事件的定义所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复