Я изучаю лямбда-выражения и делегаты. Когда я пытаюсь выполнить следующее, я получаю сообщение об ошибке в строке, которая отмечена жирной линией. ( Ошибка: оператор '+ =' нельзя применить к операндам типа «Test.MessageDelegate» и «лямбда-выражение» ). Помогите мне обработать лямбда-выражение.
namespace Test
{
public delegate void MessageDelegate(string title,object sender,EventArgs e);
class Program
{
static event MessageDelegate logEvent;
static void Main(string[] args)
{
logEvent = new MessageDelegate(OnLog);
logEvent("title",Program.logEvent,EventArgs.Empty);
logEvent + = (src, e) => {OnLog («Some», src, e); };
Console.ReadKey(true);
}
static void OnLog(string title, object sender, EventArgs e)
{
if (logEvent != null)
{
Console.WriteLine("title={0}", title);
Console.WriteLine("sender={0}", sender);
Console.WriteLine("arguments={0}",e.GetType());
}
}
}
}