Le as
operator est en fait le C# équivalent:
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
Debug.Assert(request != null); // request will be null if the cast fails
Cependant, une distribution régulière est sans doute préférable:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
WebRequest.Create
devrait toujours entraîner dans une HttpWebRequest lorsqu'elle est appelée avec un schéma d'URI spécifique. S'il n'y a rien d'utile à faire lorsque la distribution échoue, il n'est pas nécessaire de lancer la variable de façon défensive. Si vous ne vous souciez pas du protocole utilisé, votre variable request
doit être de type WebRequest
(mais vous ne pouvez pas vérifier les codes d'état HTTP).
Pour compléter l'image sur les moulages et la vérification de type en C#, vous pouvez aussi lire le is
operator.
Quand vous dites que ça ne fonctionne pas, que voulez-vous dire? Vous obtenez une erreur? Impossible de compiler? Retourne null? Pouvez-vous clarifier? – spinon