как использовать метод Invoke в файле расширений/методов?

Ну, я пишу файл расширений/методов, полезных для строк, label, linklabels, class и т.д.

но у меня проблема. У меня есть метод showMessage(), который изменяет текст метки, работает нормально. Но я решил сделать так, чтобы работало с выполнением потока, тогда я делаю так:

namespace LabelExtensions
{
    public static class LabelExtensionsClass
    {        
        private delegate void UpdateState();

        public static void ShowMessage(this Label label, string text)
        {
            if (label.InvokeRequired)
            {
                label.Invoke((UpdateState)delegate
                {
                    label.Text = text;
                });
            }
            else
            {
                  label.Text = text;
            }
        }
}
}

извините, это была опечатка. Я набрал этот код на форуме. ошибка продолжается.

согласно документации, для использования метода Invoke необходимо импортировать:

Namespace: System.Windows.Forms

Assembly: System.Windows.Forms (в System.Windows.Forms.dll)

затем я сделал:

using System.Windows.Forms;

но это возвращает ту же ошибку:

The name 'Invoke' does not exist in the current context

как мне это исправить?

Заранее спасибо.

7
задан The Mask 16 December 2011 в 17:17
поделиться