【发布时间】:2014-10-24 17:13:39
【问题描述】:
我有一个最佳实践问题。
我有一个方法BuildTourTime,它接受一个日期时间和一个表示时间的字符串。
internal DateTime BuildDateTime(DateTime date, string time)
{
return date.Add(TimeSpan.Parse(time));
}
我将在多个位置使用它。目前它正在另一个类中使用
private IEnumerable<Tour> BuildTours(Response Data)
{
//Tour tour = new Tour();
List<Tour> tours = new List<Tour>();
foreach(Events ivEvents in Data.response.events)
{
bool isCancelled = true; //Replace this with logic
tours.Add(new Tour(ivEvents.Id,Data.response.ID,Data.response.Title,BuildDateTime(ivEvents.Date,ivEvent.Start),isCancelled,ivEvents.Quantity-ivEvents.Remaining).);
}
return tours;
}
我目前有 Tour 类,但没有无参数构造函数。据我所知,我有几个选择。将 BuildDateTime 声明为静态。或者为 Tour 添加一个无参数的构造函数。或者创建一个助手类并放入 BuildDateTime。这是使用静态方法的好地方吗?这就是我所倾向于的。
编辑:为什么投反对票?发布的链接(我在发布这个问题之前阅读过)没有回答我的问题。我的问题表明我已经调查了我可以使用的选项,并且我提出了一个确切的问题,并提供了相关代码。
【问题讨论】:
-
是的,如果它需要在许多地方使用,制作静态方法并制作一个静态帮助类
-
该方法似乎非常适合日期时间类型的扩展方法
-
为什么要用静态方法调用来替换一行代码?
-
BuildDateTime 未在示例中使用。
标签: c# static-methods instance-methods