diff options
Diffstat (limited to 'src/mscorlib/shared/System/Globalization/DateTimeFormatInfo.cs')
-rw-r--r-- | src/mscorlib/shared/System/Globalization/DateTimeFormatInfo.cs | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/src/mscorlib/shared/System/Globalization/DateTimeFormatInfo.cs b/src/mscorlib/shared/System/Globalization/DateTimeFormatInfo.cs index de260795e4..297b556f75 100644 --- a/src/mscorlib/shared/System/Globalization/DateTimeFormatInfo.cs +++ b/src/mscorlib/shared/System/Globalization/DateTimeFormatInfo.cs @@ -454,35 +454,12 @@ namespace System.Globalization } } - - public static DateTimeFormatInfo GetInstance(IFormatProvider provider) - { - // Fast case for a regular CultureInfo - DateTimeFormatInfo info; - CultureInfo cultureProvider = provider as CultureInfo; - if (cultureProvider != null && !cultureProvider._isInherited) - { - return cultureProvider.DateTimeFormat; - } - // Fast case for a DTFI; - info = provider as DateTimeFormatInfo; - if (info != null) - { - return info; - } - // Wasn't cultureInfo or DTFI, do it the slower way - if (provider != null) - { - info = provider.GetFormat(typeof(DateTimeFormatInfo)) as DateTimeFormatInfo; - if (info != null) - { - return info; - } - } - // Couldn't get anything, just use currentInfo as fallback - return CurrentInfo; - } - + public static DateTimeFormatInfo GetInstance(IFormatProvider provider) => + provider == null ? CurrentInfo : + provider is CultureInfo cultureProvider && !cultureProvider._isInherited ? cultureProvider.DateTimeFormat : + provider is DateTimeFormatInfo info ? info : + provider.GetFormat(typeof(DateTimeFormatInfo)) is DateTimeFormatInfo info2 ? info2 : + CurrentInfo; // Couldn't get anything, just use currentInfo as fallback public Object GetFormat(Type formatType) { |