C# 是否通过强制转换委托将方法添加到事件?
我有Java背景,目前正在学习c 我知道,当一个人想要订阅一个事件的方法时,他会像下面这样做:C# 是否通过强制转换委托将方法添加到事件?,c#,C#,我有Java背景,目前正在学习c 我知道,当一个人想要订阅一个事件的方法时,他会像下面这样做: button.Click += HandleClick; void HandleClick (object sender, EventArgs e) { button.Text = string.Format (count++ + " clicks!"); } 然而,人们似乎可以这样写: button.Click += delegate {button.Text = string.Form
button.Click += HandleClick;
void HandleClick (object sender, EventArgs e) {
button.Text = string.Format (count++ + " clicks!");
}
然而,人们似乎可以这样写:
button.Click += delegate {button.Text = string.Format (count++ + " clicks!");};
我们是否将该方法强制转换为委托?我以为活动需要订阅一个方法?上面到底发生了什么
我们是否将该方法强制转换为委托
好的,您不是强制转换,而是使用方法组转换将方法名称转换为委托
我以为活动需要订阅一个方法
否,事件需要委托才能订阅(或取消订阅)。您可以使用给定的代码或更明确的方式从方法创建委托实例:
button.Click += new EventHandler(HandleClick);
甚至将两者分开:
EventHandler handler = HandleClick; // Method group conversion
button.Click += handler; // Event subscription
。。。也可以从匿名函数(匿名方法或lambda表达式)创建委托实例
有关更多信息,请参阅我的
我们是否将该方法强制转换为委托
好的,您不是强制转换,而是使用方法组转换将方法名称转换为委托
我以为活动需要订阅一个方法
否,事件需要委托才能订阅(或取消订阅)。您可以使用给定的代码或更明确的方式从方法创建委托实例:
button.Click += new EventHandler(HandleClick);
甚至将两者分开:
EventHandler handler = HandleClick; // Method group conversion
button.Click += handler; // Event subscription
。。。也可以从匿名函数(匿名方法或lambda表达式)创建委托实例
有关更多信息,请参阅我的
我们是否将该方法强制转换为委托
好的,您不是强制转换,而是使用方法组转换将方法名称转换为委托
我以为活动需要订阅一个方法
否,事件需要委托才能订阅(或取消订阅)。您可以使用给定的代码或更明确的方式从方法创建委托实例:
button.Click += new EventHandler(HandleClick);
甚至将两者分开:
EventHandler handler = HandleClick; // Method group conversion
button.Click += handler; // Event subscription
。。。也可以从匿名函数(匿名方法或lambda表达式)创建委托实例
有关更多信息,请参阅我的
我们是否将该方法强制转换为委托
好的,您不是强制转换,而是使用方法组转换将方法名称转换为委托
我以为活动需要订阅一个方法
否,事件需要委托才能订阅(或取消订阅)。您可以使用给定的代码或更明确的方式从方法创建委托实例:
button.Click += new EventHandler(HandleClick);
甚至将两者分开:
EventHandler handler = HandleClick; // Method group conversion
button.Click += handler; // Event subscription
。。。也可以从匿名函数(匿名方法或lambda表达式)创建委托实例
有关详细信息,请参见my。委托的
关键字正在创建一个新的匿名方法。然后(隐式)创建一个引用该匿名方法的委托,并将该委托添加为该事件的委托之一。delegate
关键字正在创建一个新的匿名方法。然后(隐式)创建一个引用该匿名方法的委托,并将该委托添加为该事件的委托之一。delegate关键字正在创建一个新的匿名方法。然后(隐式)创建一个引用该匿名方法的委托,并将该委托添加为该事件的委托之一。delegate关键字正在创建一个新的匿名方法。然后(隐式)创建引用该匿名方法的委托,并将该委托添加为该事件的委托之一