Обобщения C # 2.0: Как создать объект Action с нулевыми параметрами

Прежде всего, я использую VS2005 и C # 2.0.

Я пытаюсь установить поле со списком. Свойство Text внутри события SelectedIndexChanged. От другогонить здесь, на StackOverflow, это было сделано следующим образом:

BeginInvoke(new Action(() => someCombobox.Text = "x" )); 

Теперь, во-первых, это возвращает мне ошибку компилятора. Я считаю, что это потому, что объект Action ведет себя по-разному в двух языковых спецификациях. В C # 2.0 объект Action, похоже, нуждается в<T> структура во всех декларациях. Может быть, я ошибаюсь, но мне хотелось бы прояснить это.

Что работает, это следующее:

BeginInvoke(new Action<string>( delegate { someCombobox.Text = "x"; }), new object[] { "" });

Тем не менее, мне просто кажется странным, что яhave to определить объект Action с параметром типа (тем более, что я не собираюсь передавать какие-либо параметры)! Каким-то образом удаление этого параметра также сделает пустой новый объект [] устаревшим, чего я и хочу.

Может кто-нибудь помочь мне упростить вышеуказанный вызов?

Наконец, гарантируется ли, что BeginInvoke завершит работу после SelectedIndexChanged и, таким образом, обновит комбинированный список & apos; Текстовое свойство с правильным текстом?

Я очень признателен за ответы на эти вопросы.

Ответы на вопрос(2)

Ваш ответ на вопрос