Тип параметра для лет

Я пишу метод, который принимает год в качестве параметра. Т.е. четырехзначное число, равное или меньшее текущего года. Календарь только григорианский (пока ... не уверен в будущем), и мне определенно не понадобится ничего 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?

12
задан Joe 3 December 2011 в 02:14
поделиться