2016-04-22 7 views
4
Response response = new Response(); 

レスポンスに型ResponseBaseを変換できません:は、暗黙的にこれは</strong>「暗黙的に応答するタイプのResponseBaseを変換できません」というエラー<strong>を示したラインである

response = await BaseFlow.Invoke(jsonRawRequest, response); 

...そしてそれが呼んでいる:

public static async Task<ResponseBase> Invoke(JToken jsonRawRequest, ResponseBase responseBase) 
     {...} 

...これは応答クラスです。

class Response : ResponseBase 
    { 
    // empty 
    } 
...と ResponseBase

public class ResponseBase 
    {...} 

ですが、なぜでしょうか? ResponseBaseを受け入れるメソッドにResponseのクラスを渡そうとしているので、他の方法ではなく、 '応答をResponseBaseに暗黙的に変換できません'と言うべきではありませんか?それを修正する方法は?

私はインターネットを閲覧しており、派生クラスを基本クラスを受け入れるメソッドに渡すことができると主張しています。

+0

応答待ちの関数(ResponseBase)の戻り値をResponse型の変数に代入します。したがって、派生型の変数に親クラスのインスタンスを割り当てようとします。 – Evk

答えて

3

パラメータとしてresponseを渡そうとしているときに問題が発生していません。

InvokeResponseBaseタイプ)の結果をresponse変数(Responseタイプ)に割り当てるときにエラーが発生します。

ResponseBase response = new Response(); 

または新しいResponseBase変数を使用します。単にResponseBaseresponse種類を変更し、それを修正するには

+1

Ahhhhh。ありがとうございました。私は盲目です。もちろん。あなたの答えを5分で受け入れることができるので、それまでは...ありがとう! – b0x0rz

関連する問題