您的位置:首页 > 编程语言 > C#

C#高级语法基础知识总结5——委托&事件

2012-07-16 22:39 585 查看
委托

Delegate void IntMethodInvoker(int x);

Delegate double IntMethodInvoker(long x,long y);

委托的一种方式,把方法组合到一个数组中来使用,这样就可以在循环中调用不同的方法了。

核心语句ProcessAndDisplayNumber(operations[j], 2.0);

事件

#region 事件发布程序

public class CarInfoEventArgs : EventArgs

{

public string Car { get; private set; }

public CarInfoEventArgs(string car)

{

this.Car = car;

}

}

public class CarDealer

{

public event EventHandler<CarInfoEventArgs> NewCarInfo;//定义事件委托

public void NewCar(string car)

{

Console.WriteLine("CarDealer,新车{0}",car);

if(NewCarInfo!=null)

{

NewCarInfo(this,new CarInfoEventArgs(car));

}

}

}

#endregion

#region 事件侦听器

public class Consumer

{

private string name;

public Consumer(string name)

{

this.name = name;

}

public void NewCarIsHere(object sender, CarInfoEventArgs e)

{

Console.WriteLine("{0}:车{1}是新的", name, e.Car);

}

}

#endregion

Console.WriteLine("事件-----------");

var dealer = new DelegateEvent.CarDealer();

var Soar = new DelegateEvent.Consumer("苏国强");

dealer.NewCarInfo += Soar.NewCarIsHere;

dealer.NewCar("博兰基尼");


弱事件管理器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: