0
votes

Comment retourner T type ou null dans une méthode?

J'ai besoin d'une méthode qui renvoie une classe avec type non spécifié ou null.

J'ai besoin de cela pour gérer les demandes d'API comme, je demande un fichier, disons une image et un autre fichier comme une vidéo et j'ai besoin différents types pour cela. Si l'image / la vidéo n'est pas trouvée, je veux renvoyer NULL. P>

J'ai déjà essayé des nullables, mais je le fais probablement dans le mauvais sens. P>

T? SendRequest<T?>(string pathOnServer)
{
    HttpResponseMessage response = SendTheRequest(pathOnServer);
    if(response.IsSuccessStatusCode)
        return JsonConvert.DeserializeObject<T>(response.Content.ReadAsStringAsync().Result);
    else
        return null;
}


0 commentaires

3 Réponses :


3
votes

Si vous ne voulez pas contraindre à la structure ou en classe. Vous pouvez essayer xxx

ceci renvoie null si T est une chaîne ou des types de référence.


0 commentaires

1
votes

C'est simple.

Vous avez juste besoin de limiter la méthode à ce que vous dites qu'il devrait revenir.

retourne une classe avec type non spécifié ou null.

c'est-à-dire t sendreuest (string pathononserveur) où T: classe

comme les classes peuvent être annulables c'est tout ce qui est nécessaire. Il vous suffit de LIMITER T ÊTRE UNE CLASSE - Pas n'importe quoi.


2 commentaires

par défaut (t) est bien meilleur, ne nécessite pas de contraintes


Mais cela ne la limite pas non plus en classe et qui est spécifiquement demandé dans la question.



1
votes

Vous pouvez utiliser simple utilisation où T: classe xxx


0 commentaires