private static Exception GetDateTimeParseException(ref DateTimeResult result) {
switch (result.failure) {
case ParseFailureKind.ArgumentNull:
return new ArgumentNullException(result.failureArgumentName, Environment.GetResourceString(result.failureMessageID));
case ParseFailureKind.Format:
return new FormatException(Environment.GetResourceString(result.failureMessageID));
case ParseFailureKind.FormatWithParameter:
return new FormatException(Environment.GetResourceString(result.failureMessageID, result.failureMessageFormatArgument));
case ParseFailureKind.FormatBadDateTimeCalendar:
return new FormatException(Environment.GetResourceString(result.failureMessageID, result.calendar));
default:
BCLDebug.Assert(false, "Unkown DateTimeParseFailure: " + result);
return null;
}
}
}