Это должно быть абсолютно нормально.Короткий, но полный пример:
using System;
public class Test
{
static void Main(string[] args)
{
object o = new object();
Register(o, (s, e) => {});
}
static void Register(object source, EventHandler handler)
{
Console.WriteLine("Handler");
}
static void Register(object source, string text)
{
Console.WriteLine("Text");
}
}
Если бы вы могли обновить свой вопрос аналогичным коротким, но полным примером, который не , мы можем помочь вам в дальнейшем.(Я предполагаю, что на самом деле в процессе создания короткого, но полного примера вы найдете проблему.)
Тот факт, что в вашем сообщении об ошибке явно говорится о EventHandler
, несколько подозрительно, потому чтотип вашего аргумента не EventHandler
, это просто лямбда-выражение, которое можно преобразовать в EventHandler
.Вы уверены, что ошибка на вызывающей линии?