Nel mio servizio web WCF RESTful ho qualcosa come il seguente oggetto di risposta.
public class WebResponse<T>
{
public bool Success { get; set; }
public T Data { get; set; }
public string ErrorMessage { get; set; }
}
In questo modo posso catturare eventuali errori che si verificano durante la richiesta al servizio web. Separa anche l'oggetto dati dall'oggetto risposta. Un altro modo in cui questo può essere fatto è con una classe base di risposta come questa.
public abstract class WebResponseBase
{
public bool Success { get; set; }
public string ErrorMessage { get; set; }
}
public class CarResponse : WebResponseBase
{
public string Manufacturer { get; set; }
public string Make { get; set; }
}
Personalmente preferisco il primo metodo in quanto mi dà una chiara separazione dei dati e dello stato di risposta / errore e mi consente di restituire facilmente liste / array ecc. senza dover creare più classi.
Ci sono dei vantaggi nell'usare la classe base? Ci sono limitazioni all'utilizzo della classe generica?