如何为Bank类增加一个BeforeClosed事件?

fisea 2009-02-18 04:43:42
如何为Bank类增加一个BeforeClosed事件?以使在调用Bank.Close()方法时可触发该事件?请写出包括订阅在内的所有步骤。这是我遇到的一个面试题目。请高手帮忙一下,谢谢!
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CutBug 2009-02-18
  • 打赏
  • 举报
回复
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

Bank b = new Bank();
b.BeforeClosed +=new Bank.BeforeBankCloseHandler(b_BeforeClosed);
b.Close();
}

static void b_BeforeClosed(object sender, BeforeBankCloseEventArgs e)
{
Console.WriteLine("Bank'Name is:"+e.BankName);
Console.WriteLine("Before bank is closed,I can do something");
}

}

public class Bank
{
public delegate void BeforeBankCloseHandler(object sender, BeforeBankCloseEventArgs e);
public event BeforeBankCloseHandler BeforeClosed;



public void Close()
{
string bName = "China Bank";
BeforeBankCloseEventArgs arg = new BeforeBankCloseEventArgs(bName);
BeforeClosed(this, arg);
Console.WriteLine("Bank Closed");
}


}

public class BeforeBankCloseEventArgs : EventArgs
{
public BeforeBankCloseEventArgs(string m)
{
_bankName = m;
}
private string _bankName;
public string BankName
{
get { return _bankName; }
set { _bankName = value; }
}

}
}

输出:
Bank'Name is:China Bank
Before bank is closed,I can do something
Bank Closed
请按任意键继续. . .

cppfaq 2009-02-18
  • 打赏
  • 举报
回复
using System;

class Program {
public static void Main() {
Console.ReadLine();
Band b = new Band();
b.BeforeClosed += new EventHandler(b_Changed);
}

static void b_Changed(object sender, EventArgs e) {
throw new Exception("The method or operation is not implemented.");
}
}

public class Band {
public event EventHandler BeforeClosed;

public void Close() {
if (BeforeClosed != null) {
BeforeClosed(this, EventArgs.Empty);
}
}
}
CutBug 2009-02-18
  • 打赏
  • 举报
回复
委托

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧