У меня вопрос о лучших практиках. У меня есть метод BuildTourTime
, который принимает DateTime и строку, которая представляет время.Статический или экземпляр C#
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. Это хорошее место для использования статического метода? Это то, к чему я склоняюсь.
Редактировать: Почему downvotes? Ссылка, опубликованная (которую я прочитал до публикации этого вопроса), не отвечает на мой вопрос. Мой вопрос показывает, что я изучил варианты, которые мог бы использовать, и я задал точный вопрос, а также предоставил относительный код.
да, если это необходимо для использования во многих местах сделать статический метод и сделать статический вспомогательный класс –
См http://stackoverflow.com/questions/241339/when-to-use-static-classes-in -c-sharp – ebb
Метод кажется идеальным для метода расширения для типа даты и времени – Steve