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

У меня есть два куска кода. Один работает, а другой нет, я действительно не знаю c #, и Google не помог мне разобраться. Надеюсь, кто-то может объяснить, в чем проблема.

Редактировать - d равно public delegate List<CustomObj> SearchFoo(string a, string b);

Почему этот кусок кода работает

d = foo;

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

а этого нет?

d = foo;

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

Первый фрагмент кода работает без проблем, и когда функция foo вызывается a = "" и b = null, я не знаю, почему это происходит.

Второй кусок кода возвращает ошибку:

Error   33  No overload for 'foo' matches delegate 'Core.Panels.ListFooPannels.SearchFoo'   C:\Foo\Functionalities\Foo\FooForm.cs

Проект разработан в Visual Studio 2008.

Спасибо, Джакомо.

1 Ответ

0 голосов
/ 16 января 2019

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

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, поэтому вы получаете исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...