我有如下的类结构:
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;
}
}
如果只有一个静态方法,那么问题就没有问题了,但有几个静态方法,我感兴趣的是如何拥有更简洁、更优雅的代码。谢谢
发布于 2010-11-04 22:04:26
使用参数定义构造函数,而不是在Success
方法中内联设置属性。然后设置构造函数中的属性,因为每个属性都是沿着继承链被调用的。
public class Result
{
protected int Code { get; set; }
protected List<string> Messages { get; set; }
protected Result(int code, List<string> messages)
{
Code = code;
Messages = messages;
}
public static Result Success(int code, List<string> messages)
{
Result result = new Result(code, messages);
return result;
}
}
public class ResultWithName : Result
{
protected string Name { get; set; }
protected ResultWithName(int code, List<string> messages, string name) :
base(code, messages)
{
Name = name;
}
public static ResultWithName Success(int code, List<string> messages, string name)
{
ResultWithName result = new ResultWithName(code, messages, name);
return result;
}
}
https://stackoverflow.com/questions/4097403
复制相似问题