Die as
operator ist das C# -Äquivalent in der Tat:
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
Debug.Assert(request != null); // request will be null if the cast fails
jedoch eine regelmäßige Besetzung wahrscheinlich vorzuziehen ist:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
WebRequest.Create
immer in einem HttpWebRequest, wenn sie mit einem bestimmten URI-Schema namens führen sollte. Wenn es nichts Sinnvolles zu tun gibt, wenn die Umwandlung fehlschlägt, muss die Variable nicht defensiv umgewandelt werden. Wenn Sie sich nicht für das verwendete Protokoll interessieren, sollte Ihre request
-Variable vom Typ WebRequest
sein (Sie haben jedoch die Möglichkeit, HTTP-Statuscodes zu überprüfen).
Um das Bild über Formen und Typ-Check in C# zu vervollständigen, möchten Sie vielleicht auch auf die is
operator lesen.
Wenn Sie sagen, dass es nicht funktioniert, was meinst du? Sie erhalten einen Fehler? Kann nicht kompiliert werden? Gibt null zurück? Können Sie klären? – spinon