2012-05-01 10 views
0

HttpContext型変数が必要なメソッドがあります。は、httpcontextbaseをHttpContext型変数を持つメソッドに渡すことができません。

public string GetQueryStringValues(HttpContext context) 

私は/作成するために、部品番号を使用して記事hanselman articleからユニットテストを書いていますのHttpContextを移入し、次のようにメソッドに渡します

 string url = "http://localhost:51209/WebForm1.aspx?height=6&width=7&length=8&mode=walk"; 
     HttpContextBase contextbase = MoqHelper.FakeHttpContext(url); 
     string result = new Helper(whitelist).GetQueryStringValues(context); 

私は、次のエラーメッセージが出ます:

を変換することはできませんが'System.Web.HttpContextBase'から 'System.Web.HttpContext'へ

Geのメソッドのシグネチャを変更しないでこれを解決する方法tQueryStringValues ??

助けてください。

おかげ

答えて

1

は残念ながら、あなたは署名を変更せずにこれを行うことはできません。しかし、あなたの署名は抽象的ではなく、具体的なタイプでは良くなります。

+0

どのように抽象化を使用しますか?助けてください。ありがとう –

+0

あなたのメソッドは、 'HttpContext'の代わりに' HttpContextBase'を取るように変更する必要があります。 'public string GetQueryStringValues(HttpContextBase context)' – Tejs

+0

抽象化すると、私はHttpContextBaseを抽象クラス、HttpContextは具体的な実装です。 – empi

関連する問題