Bonjour,

Alors voilà j'ai écrit une API pour synchroniser notre ERP avec Mgento pour ceux qui connaissent.
Tout fonctionnait bien jusqu’à hier ou j'ai reçu un message étrange dans mon appli et ça a fait complètement partir en sucette le serveur.

J'essai donc de développer un système de log des envoi et des réponses.

Actuellement mes appelles se font comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
IRestResponse<Product> oResponse = (IRestResponse<Product>)oClient.Execute<Product>(oRequest);
Je souaiterait remplacer la methode Execute par une methode interne développée par moi.
J'ai donc essayer d'écrire une methode que j'appellerais comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Execute<Product>(oRequest);
qui exécuterais le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
private object Execute<T>(RestRequest _oRequest) 
{
        return oClient.Execute<T>(_oRequest);
}
Malheureusement le compilateur dit :
Error 2 'T' must be a non-abstract type with a public parameterless constructor in order to use it as parameter 'T' in the generic type or method 'RestSharp.RestClient.Execute<T>(RestSharp.IRestRequest)'
Qqun a-t-il une idée ?

Merci, a bientôt.


Edit :

Alors pour ce que ça intéresse la syntaxe suivante fait le boulo :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
        private IRestResponse<T> Execute<T>(RestRequest _oRequest) where T : new()
        {
                IRestResponse<T> oResponse = oClient.Execute<T>(_oRequest);
                return oResponse;
        }