首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你为什么要在DirectCast HttpWebRequest in VB.NET?

你为什么要在DirectCast HttpWebRequest in VB.NET?
EN

Stack Overflow用户
提问于 2014-04-11 19:51:19
回答 2查看 2K关注 0票数 1

在为httpwebrequest请求使用POST方法时,我经常看到如下一行代码:

代码语言:javascript
复制
Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.empireavenue.com/user/login/do"), HttpWebRequest)

我们为什么在这里做DirectCast?它到底在做什么?

编辑:或者我的问题是,为什么我们调用WebRequest.Create并将其转换为HttpWebRequest?从技术上讲,这是怎么回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-11 20:00:34

WebRequest.Create是一种工厂方法,可以返回不同类型的请求。正因为如此,它们都以WebRequest的形式返回。但是,因为您可能知道,您希望它返回HttpWebRequest (因为您提供的Uri是http),所以您可以对它进行向下转换,以访问由HttpWebRequest公开的方法和属性,这些方法和属性不是由WebRequest基类公开的。

但是,如果您知道要使用http协议,则应该使用WebRequest.CreateHttp()而不是WebRequest.Create()

票数 4
EN

Stack Overflow用户

发布于 2014-04-11 19:58:54

因为HttpWebRequest实现了WebRequest,WebRequest.Create()返回一个WebRequest对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23021415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档