C#从System.EventHandler到System.EventHandler的动态模板隐式转换错误< TEventArgs> [英] C# Dynamic template implicit conversion error from System.EventHandler to System.EventHandler<TEventArgs>
本文介绍了C#从System.EventHandler到System.EventHandler的动态模板隐式转换错误< TEventArgs>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
代码:
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;
}
错误:
不能隐式转换类型'System.EventHandler< UserControlLibrary .Section.ItemTemplate.SectionArgs>'to'System.EventHandler'
Error: Cannot implicitly convert type 'System.EventHandler<UserControlLibrary.Section.ItemTemplate.SectionArgs>' to 'System.EventHandler'
推荐答案
正在接收错误,因为 PlaceHolder.DataBinding 是一个 EventHandler
,而不是 EventHandler< SectionArgs>
,但是您尝试使用错误类型的委托订阅。
The error is being received because PlaceHolder.DataBinding is an EventHandler
, not an EventHandler<SectionArgs>
, but you're trying to subscribe with the wrong type of delegate.
这应该是:
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;
}
以上内容将正常运行。
这篇关于C#从System.EventHandler到System.EventHandler的动态模板隐式转换错误< TEventArgs>的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文