J'ai la structure de classe suivante:refactoring de code, afin de se débarrasser de la duplication de code
public class Result
{
protected int Code {get; set;}
protected List<string> Messages {get; set;}
protected Result();
public static Result Success (int code, List<string> messages)
{
Result result= new Result();
result.Code=code;
result.Messages=messages;
return result;
}
}
public class ResultWithName: Result
{
protected ID {get; set;}
protected ResultWithName()
{
}
public static ResultWithName Success (int code, List<string> messages, string name)
{
ResultWithName result= new ResultWithName();
result.Code=code;
result.Messages=messages;
result.Name=name;
return result;
}
}
Le problème serait ok s'il n'y a qu'une seule méthode statique, mais il y en a plusieurs, et je suis intéressé à avoir un code plus propre et élégant. Merci
Le "code le plus élégant" est simplement de ne pas utiliser de méthode statique. –
Je ne suis pas certain que nous regardons tout le code. Il a protégé le constructeur, ce qui signifie que la méthode Success est une usine. Dans ce cas, il est parfaitement acceptable que ce soit une méthode statique. (Bien que je ne m'attendais pas à être ainsi donné le nom.) –
@Billy - c'est une méthode d'usine, ce qui est parfaitement respectable –