C # Dynamic pattern of implicit conversion error from System.EventHandler to System.EventHandler <TEventArgs>

Code:

public void InstantiateIn(System.Web.UI.Control container) { PlaceHolder ph = new PlaceHolder(); SectionArgs e = new SectionArgs(); ph.DataBinding += new EventHandler<SectionArgs>(ItemTemplate_DataBinding); container.Controls.Add(ph); } static void ItemTemplate_DataBinding(object sender, SectionArgs e) { PlaceHolder ph = (PlaceHolder)sender; } 

Error: Unable to implicitly convert the type 'System.EventHandler <UserControlLibrary.Section.ItemTemplate.SectionArgs>' to 'System.EventHandler'

0
source share
1 answer

The error is accepted because PlaceHolder.DataBinding is an EventHandler , not an EventHandler<SectionArgs> , but you are trying to subscribe with the wrong delegate type.

It should be:

 public void InstantiateIn(System.Web.UI.Control container) { PlaceHolder ph = new PlaceHolder(); SectionArgs e = new SectionArgs(); ph.DataBinding += new EventHandler(ItemTemplate_DataBinding); container.Controls.Add(ph); } static void ItemTemplate_DataBinding(object sender, EventArgs e) { PlaceHolder ph = (PlaceHolder)sender; } 

The above will work correctly.

+1
source

Source: https://habr.com/ru/post/945375/