set noea " i.e. set equalalways
См. equalalways в документации Vim.
Лямбды неявно преобразуются в типы делегатов с правильной формой, но два типа делегатов одинаковой формы не могут неявно преобразовываться друг в друга. Просто сделайте вместо этого локальную переменную типа EventHandler.
EventHandler h = (o, ea) => { ... };
e += h;
...
e -= h;
(в случае, если это поможет:
Action<object, EventArgs> a = (o, ea) => { };
EventHandler e = a; // not allowed
EventHandler e2 = (o,ea) => a(o,ea); // ok
)
Action<Object, EventArgs> a = (o, ea) => { };
EventHandler e = a.Invoke;
Как правило, делегаты не могут быть преобразованы, потому что у них нет дерева наследования, определяющего, какие преобразования допустимы. Для этого у вас есть два варианта:
EventHandler
вместо Action
Использовать встроенное объявление.
// параметр 1: локальная переменная
EventHandler eh = (o, ea) => {/ * [snip] * /};
obj.event + = а;
obj.event - = а;
// вариант 2: встроенное объявление
obj.event + = (o, ea) => {/ * [snip] * /};
Вместо этого вы можете использовать анонимный метод:
Event += (sender, e) =>
{
// Multiple lines
// of code here
};