internal DateTimeFormatInfo(StreamReader s, string calendarName) { char[] comma = new char[] { ',' }; this.abbreviatedDayNames = s.ReadLine().Split(comma); this.abbreviatedMonthGenitiveNames = s.ReadLine().Split(comma); this.abbreviatedMonthNames = s.ReadLine().Split(comma); this.amDesignator = s.ReadLine(); this.calendarWeekRule = (CalendarWeekRule)int.Parse(s.ReadLine()); this.dateSeparator = s.ReadLine(); this.dayNames = s.ReadLine().Split(comma); this.firstDayOfWeek = (DayOfWeek)int.Parse(s.ReadLine()); this.fullDateTimePattern = s.ReadLine(); this.longDatePattern = s.ReadLine(); this.longTimePattern = s.ReadLine(); this.monthDayPattern = s.ReadLine(); this.monthGenitiveNames = s.ReadLine().Split(comma); this.monthNames = s.ReadLine().Split(comma); this.nativeCalendarName = s.ReadLine(); s.ReadLine(); // TODO: Appears to be a mistake in the culture files. Extra line added. this.pmDesignator = s.ReadLine(); this.rfc1123Pattern = s.ReadLine(); // This is always the same, so does it need to be in the culture file? this.shortDatePattern = s.ReadLine(); this.shortestDayNames = s.ReadLine().Split(comma); this.shortTimePattern = s.ReadLine(); this.sortableDateTimePattern = s.ReadLine(); // This is always the same this.timeSeparator = s.ReadLine(); this.universalSortableDateTimePattern = s.ReadLine(); // This is always the same this.yearMonthPattern = s.ReadLine(); this.calendar = Calendar.CreateByName(calendarName); }