代码如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace TestForFriends
{
/// <summary>
/// 目标:该例子主要通过模拟一个现实生活中的事情,来演示C#中【事件】的用法:
/// 设定:张三和李四是好朋友,他们约定无论谁结婚,都要邀请对方作伴郎;
/// 事情:张三结婚了,于是他按照约定要通知李四并邀请他来作伴郎。
/// </summary>
class Program
{
static void Main(string[] args)
{
Person 张三 = new Person("张三");
Person 李四 = new Person("李四");
// 张三和李四是朋友
张三.Friend = "李四";
李四.Friend = "张三";
// 他们做约定
张三.准备婚礼 += new EventHandler(李四.作为伴郎出席婚礼);
李四.准备婚礼 += new EventHandler(张三.作为伴郎出席婚礼);
// 接触结婚事件
张三.结婚();
}
}
/// <summary>
/// 人
/// </summary>
public class Person
{
// 姓名
private string m_name;
// 朋友
private string m_friend;
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get { return m_name; }
}
/// <summary>
/// 朋友
/// </summary>
public string Friend
{
get { return m_friend; }
set { m_friend = value; }
}
/// <summary>
/// 准备结婚事件
/// </summary>
public event EventHandler 准备婚礼;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="name">人名</param>
public Person(string name)
{
m_name = name;
}
/// <summary>
/// 结婚
/// </summary>
public void 结婚()
{
if (null != 准备婚礼)
{
Console.WriteLine("{0}准备结婚,邀请朋友{1}当伴郎。", m_name, m_friend);
准备婚礼(this, null);
Console.WriteLine("{0}在朋友{1}的祝福中顺利结婚。", m_name, m_friend);
}
}
/// <summary>
/// 接受邀请,作为伴郎出席婚礼
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void 作为伴郎出席婚礼(object sender, EventArgs e)
{
Console.WriteLine("{0} 接受朋友{1}邀请作为伴郎出席婚礼!",m_name, m_friend);
}
}
}
using System.Collections.Generic;
using System.Text;
namespace TestForFriends
{
/// <summary>
/// 目标:该例子主要通过模拟一个现实生活中的事情,来演示C#中【事件】的用法:
/// 设定:张三和李四是好朋友,他们约定无论谁结婚,都要邀请对方作伴郎;
/// 事情:张三结婚了,于是他按照约定要通知李四并邀请他来作伴郎。
/// </summary>
class Program
{
static void Main(string[] args)
{
Person 张三 = new Person("张三");
Person 李四 = new Person("李四");
// 张三和李四是朋友
张三.Friend = "李四";
李四.Friend = "张三";
// 他们做约定
张三.准备婚礼 += new EventHandler(李四.作为伴郎出席婚礼);
李四.准备婚礼 += new EventHandler(张三.作为伴郎出席婚礼);
// 接触结婚事件
张三.结婚();
}
}
/// <summary>
/// 人
/// </summary>
public class Person
{
// 姓名
private string m_name;
// 朋友
private string m_friend;
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get { return m_name; }
}
/// <summary>
/// 朋友
/// </summary>
public string Friend
{
get { return m_friend; }
set { m_friend = value; }
}
/// <summary>
/// 准备结婚事件
/// </summary>
public event EventHandler 准备婚礼;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="name">人名</param>
public Person(string name)
{
m_name = name;
}
/// <summary>
/// 结婚
/// </summary>
public void 结婚()
{
if (null != 准备婚礼)
{
Console.WriteLine("{0}准备结婚,邀请朋友{1}当伴郎。", m_name, m_friend);
准备婚礼(this, null);
Console.WriteLine("{0}在朋友{1}的祝福中顺利结婚。", m_name, m_friend);
}
}
/// <summary>
/// 接受邀请,作为伴郎出席婚礼
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void 作为伴郎出席婚礼(object sender, EventArgs e)
{
Console.WriteLine("{0} 接受朋友{1}邀请作为伴郎出席婚礼!",m_name, m_friend);
}
}
}
我的签名:来自序海的呼唤,期待久违的飞扬
熊掌©原创