Error CS0121 The call is ambiguous between the following methods or properties

413
21 ноября 2021, 02:00

Есть два метода:

public TE Post<T,TE>(IRestRequest request, T obj) where T : class, new() where TE : class, new()
public TE Post<T, TE>(IRestRequest request, TE entity) where T : class, new() where TE : IEntityResponse<T>, new()

И вызов:

Put<T, T>(request, obj);

На моей машине код билдится без проблем, компилятор отличает эти перегрузки. Два человека стянули себе код и проект у них не билдится с ошибкой:

Severity Code Description Project File Line Suppression State Error CS0121 The call is ambiguous between the following methods or properties: 'BCRestClient.Post(IRestRequest, T)' and 'BCRestClient.Post(IRestRequest, TE)'

В чем может быть разница в наших средах, что у меня проблем нет, а у ребят - есть? Не могу понять в какую сторону копать. Конечно, можно слить эти методы, это решит проблему, но интересно почему она в принципе могла возникнуть.

Answer 1

Должен помочь следующий совет из документации (Compiler error CS0121):

Use named arguments.

Put<T, T>(request: request, entity: obj);
Answer 2

Проблемы с компиляцией подобного типа перегрузок нет на 19 версии Visual Studio. На более младших версиях - код не компилируется с ошибкой.

READ ALSO
ASP NET.CORE MVC Динамическое создание &lt;input&gt;

ASP NET.CORE MVC Динамическое создание <input>

Пишу сайт - квизерСтолкнулся с такой проблемой

244
Убрать мерцание из Picturebox

Убрать мерцание из Picturebox

Всем привет возникла такая вот проблема, при перерисовывания изображения возникает сильное мерцание( 2 буферизация на форме включена),прошу...

103
Framework совместимость с Core

Framework совместимость с Core

Если dll написана наNET Framework 2

93
как закрыть форму родительскую, при открытии новой формы дочерней

как закрыть форму родительскую, при открытии новой формы дочерней

Есть толстое приложение, в котором по клику на кнопке вызывается форма , внутри которой поле ввода, и кнопки по типу: подтвердить, отменить,...

199