Я пишу метод, который принимает год в качестве параметра. Т.е. четырехзначное число, равное или меньшее текущего года. Календарь только григорианский (пока ... не уверен в будущем), и мне определенно не понадобится ничего BC.
Какой тип данных мне использовать? Очевидные решения заключались бы в использовании DateTime или Int32:
public void MyFunction(DateTime date)
{
// year to work with: date.Year;
// date.Month, date.Day, etc. is irrelevant and will always be
}
или
public void MyFunction(Int year)
{
if ( year > 9999 || otherValidations == false )
{
//throw new Exception...
}
// year to work with: new DateTime(year, 1, 1);
}
Любые другие альтернативы, кроме написания моего собственного пользовательского типа данных Year?