Не удается неявно преобразовать тип ResponseBase в Response
Response response = new Response();
Эта строка показывает ошибку "Не удается неявно преобразовать тип ResponseBase в Response":
response = await BaseFlow.Invoke(jsonRawRequest, response);
... и это зовет:
public static async Task<ResponseBase> Invoke(JToken jsonRawRequest, ResponseBase responseBase)
{...}
... а это класс Response:
class Response : ResponseBase
{
// empty
}
... и база ответов:
public class ResponseBase
{...}
Почему это происходит? Разве это не должно сказать "Не могу неявно преобразовать тип Response в ResponseBase" вместо другого способа arround, потому что я пытаюсь передать класс Response методу, принимающему ResponseBase? И как это исправить?
Я просматривал Интернет, и он утверждает, что я смог бы передать производный класс методу, принимающему базовый класс.
1 ответ
Проблема не в том, когда ты пытаешься пройти response
в качестве параметра.
Ошибка возникает, когда вы пытаетесь присвоить результат Invoke
(ResponseBase
тип) к response
переменная (Response
тип).
Чтобы исправить это просто изменить response
введите в ResponseBase
:
ResponseBase response = new Response();
или использовать новый ResponseBase
переменная.