Проблема с количеством параметров Invoke (метод Delegate, Object [] args) - PullRequest
0 голосов
/ 17 февраля 2011

Я получил исключение как

System.Reflection.TargetParameterCountException: несоответствие количества параметров. в System.Windows.Forms.Control.MarshaledInvoke (вызывающий элемент управления, метод Delegate, аргументы Object [], логическое синхронное значение) в System.Windows.Forms.Control.Invoke (метод Delegate, Object [] args)

Но System.Windows.Forms.Control содержит только метод Invoke (метод Delegate, params Object [] args), но не метод Invoke (метод Delegate, Object [] args). И я использую это как

Invoke (новый SetXDelegate (SetX), значение1, значение2)

Это причина моей проблемы, и я должен использовать

Invoke (новый SetXDelegate (SetX), новый объект [] {значение1, значение2})?

ОБНОВЛЕНИЕ

Пожалуйста, порекомендуйте, если лучше использовать что-то вроде

Делегат Invoke ((MethodInvoker) { SetX (значение1, значение2); })

чтобы избежать подобных проблем.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 февраля 2011

На самом деле, мне кажется, что вы жалуетесь на то, что вы передаете неверное количество параметров для использования SetX.Какие параметры принимает SetX?

2 голосов
/ 17 февраля 2011

Да, вы должны. Требуется массив объектов

Редактировать

Проблема может заключаться в том, что SetXDelegate не принимает два параметра.

...