internal int RealGetDaysInYear(int year)
{
int days = 0, b;
BCLDebug.Assert( (year >= MinCalendarYear) && (year <= MaxCalendarYear), "Hijri year is out of range.");
b = HijriYearInfo[year-MinCalendarYear].HijriMonthsLengthFlags;
for(int m = 1; m <= 12; m++)
{
days = days+ 29 + (b&1); /* Add the months lengths before mh */
b = b >> 1;
}
BCLDebug.Assert((days == 354)||(days == 355), "Hijri year has to be 354 or 355 days.");
return days;
}
/// <summary>Determines whether the specified year in the specified era is a leap year.</summary> /// <param name="year">A year. </param> /// <param name="era">An era. Specify <see langword="UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra]" /> or <see cref="F:System.Globalization.UmAlQuraCalendar.UmAlQuraEra" />.</param> /// <returns> /// <see langword="true" /> if the specified year is a leap year; otherwise, <see langword="false" />.</returns> /// <exception cref="T:System.ArgumentOutOfRangeException"> /// <paramref name="year" /> or <paramref name="era" /> is outside the range supported by the <see cref="T:System.Globalization.UmAlQuraCalendar" /> class. </exception> // Token: 0x06002EE8 RID: 12008 RVA: 0x000B4089 File Offset: 0x000B2289 public override bool IsLeapYear(int year, int era) { UmAlQuraCalendar.CheckYearRange(year, era); return(UmAlQuraCalendar.RealGetDaysInYear(year) == 355); }