Разъяснение синтаксиса нескольких параметров Action<>

Иногда я не могу понять самых простых вещей, я уверен, что это на моем лице, я просто не вижу этого. Я пытаюсь создать делегат для метода в этом простом классе:

public static class BalloonTip
{
    public static BalloonType BalType
    { 
        get; 
        set; 
    }

    public static void ShowBalloon(string message, BalloonType bType)
    {
        // notify user
    }
}

Теперь это действие <> должно создавать делегата без фактического объявления его с ключевым словом «делегат», я правильно понял? Тогда:

private void NotifyUser(string message, BalloonTip.BalloonType ballType)
    {
        Action<string, BalloonTip.BalloonType> act; 
        act((message, ballType) => BalloonTip.ShowBalloon(message,  ballType));
    }

Это не удается скомпилировать. Почему?

(Кстати, причина, по которой мне нужен этот делегат вместо прямого вызова ShowBalloon (), заключается в том, что вызовы должны быть сделаны из другого потока, а не из потока пользовательского интерфейса, поэтому я решил, что мне нужен Action<>)

Спасибо,

6
задан Amc_rtty 23 June 2012 в 18:50
поделиться