我正在学习C#而且我是初学者。我想要一个硬件项目的URL(覆盆子pi服务器控制窗帘)它可以工作,但我不明白这一行:
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(rpiIp.text);
我不明白“(HttpWebRequest)”位是什么以及它如何影响“WebRequest.Create();”方法
有人可以解释一下吗?
非常感谢 詹姆斯
答案 0 :(得分:4)
它被称为 Explicit Cast 。来自MSDN:
显式转换(强制转换):显式转换需要强制转换运算符。如果信息可能在转换中丢失,或者由于其他原因导致转换失败,则需要进行转换。典型示例包括将数字转换为精度较低或范围较小的类型,以及将基类实例转换为派生类
方法WebRequest.Create
返回类型为WebRequest
的对象,它是一个抽象类,意味着无法创建它的实例,只有从WebRequest
继承的基础派生类型。在这种情况下演员正在做的是告诉编译器:"听着,我知道Create
实际上从这个方法返回HttpWebRequest
,所以让我像对待它一样对待它#34 ; 。当演员表完成时,如果实际类型是HttpWebRequest
,它将成功,或者如果它不是<{p>,它将抛出InvalidCastException