C # Динамическая ошибка шаблона неявного преобразования из System.EventHandler в System.EventHandler <TEventArgs> - PullRequest
0 голосов
/ 15 января 2010

код:

    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 ' в 'System.EventHandler'

1 Ответ

1 голос
/ 15 января 2010

Ошибка получена, потому что PlaceHolder.DataBinding является EventHandler, а не EventHandler<SectionArgs>, но вы пытаетесь подписаться с неправильным типом делегата.

Это должно быть:

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; 
} 

Выше будет работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...