CSharp - вызов функции без параметров - ошибка 33: нет перегрузки для делегата совпадений 'foo'

У меня была та же проблема. Кажется, что передача Me.ComboBox1.Value в качестве аргумента для функции Vlookup вызывает проблему. То, что я сделал, присваивало этому значению значение double, а затем помещало его в функцию Vlookup.

Dim x As Double
x = Me.ComboBox1.Value
Me.TextBox1.Value = Application.WorksheetFunction.VLookup(x, Worksheets("Sheet3").Range("Names"), 2, False) 

Или, для более короткого метода, вы можете просто преобразовать тип в функцию Vlookup с помощью Cdbl(<Value>) .

Итак, это будет

Me.TextBox1.Value = Application.WorksheetFunction.VLookup(Cdbl(Me.ComboBox1.Value), Worksheets("Sheet3").Range("Names"), 2, False) 

Как это ни странно, это работает.

Надеюсь, это поможет.

0
задан G. Ciardini 1 April 2019 в 10:38
поделиться

1 ответ

Ваш делегат ожидает два параметра:

public delegate List<CustomObj> SearchFoo(string a, string b);

Строка A и строка B

d = foo;

private List<CustomObj> foo(string a, string b, string c)
        { ... }

Когда вы делаете это, у вас есть 3 параметра в foo, но ваш делегат ожидает только 2, поэтому вы получаете исключение.

0
ответ дан Bruno Caceiro 1 April 2019 в 10:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: