Вызов перегруженного конструктора невозможен: распознается только один - PullRequest
0 голосов
/ 14 мая 2018

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

public Manager(param p1){ ... }
public Manager(param p1, param p2){ ... }
public Manager(param p1, param p2, ... ){ ... }
...

Все конструкторы имеют public Manager с разными параметрами. Кстати, смена конструкторов для меня невозможна, так как этот код поступает откуда-то еще.

В любом случае, я могу вызвать только один конкретный конструктор. Если я пытаюсь добавить другие параметры, конструктор не распознается, и я получаю сообщения об ошибках типа

преобразование из параметра pX в параметр pY невозможно

Класс, содержащий конструкторы и т. Д., Включен в соответствующую директиву using (как я уже сказал, я МОГУ без проблем назвать этот конструктор)

Я не знаю, что может быть причиной этого. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 14 мая 2018

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

Пример:

 var manager = new Manager(item: "value", item1: "value", item2: 1);
...