这听起来像是包装类的一个很好的候选者,它用于根据业务规则格式化 DateTime:
public class BusinessDateTimeFormatter
{
public BusinessDateTimeFormatter(DateTime dateTime)
{
_dateTime = dateTime;
}
public override string ToString()
{
return String.Format("{0} {1}:{2}", _dateTime.Date, _dateTime.Hour + 1, _dateTime.Minute);
}
}
Run Code Online (Sandbox Code Playgroud)
或者,也许更正确的是,您可以创建一个代表 DateTime 业务理念的类型。在面向对象的设计中,这种用自定义类型替换原始类型的情况经常发生,因为要建模的域具有特殊的限制,就像您所描述的那样。