なぜあなたはHttpWebRequestをDirectCastするのですかVB.NET?
-
21-12-2019 - |
質問
HttpwebrequestのPOSTメソッドを使用すると、次のようなコード行がよく表示されます:
Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.empireavenue.com/user/login/do"), HttpWebRequest)
なぜここでダイレクトキャストを行うのですか?それは正確に何をしていますか?
編集:または、私の質問は、なぜWebRequestを呼び出すのかということです。それを作成してHttpWebRequestにキャストしますか?技術的に言えば、ここで何が起こっていますか?
解決
WebRequest.Create
異なるタイプの要求を返すことができるファクトリメソッドです。そのため、それらはすべて次のように入力されて返されます WebRequest
.しかし、あなたが知っているかもしれないので、あなたはそれが戻ってくることを期待していること HttpWebRequest
(あなたが提供したUriはhttpなので)それをダウンキャストして、公開されたメソッドとプロパティにアクセスすることができます HttpWebRequest
, 、によって公開されていない WebRequest
基本クラス。
しかし、あなたはおそらく使うべきです WebRequest.CreateHttp()
の代わりに WebRequest.Create()
, 、httpプロトコルを使用することがわかっている場合。
他のヒント
HTTPWebRequest を実装WebRequestと webrequest.create() WebRequestオブジェクトを返します。
所属していません StackOverflow