гадюка.СЕТЕВЫЕ веб — формы-Почему Visual Studio создает обработчики событий без параметров для моего пользовательского элемента управления?

#c# #webforms

Вопрос:

Почему Visual Studio автоматически создает пустой обработчик событий для моего пользовательского элемента управления вместо того, чтобы следовать обычному шаблону, учитывающему сам делегат события?

Шаги:

  1. Отредактируйте aspx разметку страницы, добавив
 lt;foo:MyControl ID="bar" runat="server" OnMyEvent="" /gt;  

В тот момент, когда я нажал = после ввода «OnMyEvent», VS ведет себя как обычно, отображая всплывающее окно с опцией Create new event .

  1. Я выбираю этот параметр, но не вижу того, что я ожидал бы автоматически сгенерировать в своем коде

ожидаемый:

 protected void bar_OnMyEvent(object sender, MyEventArgs e) {  }  

фактический:

 protected void bar_OnMyEvent() {  }  

Мой пользовательский класс управления-это:

 public class MyEventArgs : EventArgs { ... }  public delegate void MyEventHandler(object sender, MyEventArgs e);  public partial class MyControl : System.Web.UI.UserControl {  public event MyEventHandler MyEvent;  protected virtual void OnMyEvent(MyEventArgs e) =gt; MyEvent?.Invoke(this, e);   ...   private void SomethingThatHappens()  {  ...  OnMyEvent(new MyEventArgs(aValue));  } }