这个C#语法叫做什么,它做了什么?

时间:2014-07-12 16:33:50

标签: c# .net syntax httpwebrequest

我正在学习C#而且我是初学者。我想要一个硬件项目的URL(覆盆子pi服务器控制窗帘)它可以工作,但我不明白这一行:

HttpWebRequest request = (HttpWebRequest) WebRequest.Create(rpiIp.text);

我不明白“(HttpWebRequest)”位是什么以及它如何影响“WebRequest.Create();”方法

有人可以解释一下吗?

非常感谢 詹姆斯

1 个答案:

答案 0 :(得分:4)

它被称为 Explicit Cast 。来自MSDN

  

显式转换(强制转换):显式转换需要强制转换运算符。如果信息可能在转换中丢失,或者由于其他原因导致转换失败,则需要进行转换。典型示例包括将数字转换为精度较低或范围较小的类型,以及将基类实例转换为派生类

方法WebRequest.Create返回类型为WebRequest的对象,它是一个抽象类,意味着无法创建它的实例,只有从WebRequest继承的基础派生类型。在这种情况下演员正在做的是告诉编译器:&#34;听着,我知道Create实际上从这个方法返回HttpWebRequest,所以让我像对待它一样对待它#34 ; 。当演员表完成时,如果实际类型是HttpWebRequest,它将成功,或者如果它不是<{p>,它将抛出InvalidCastException