Advertisement
Guest User

GetSystemTimeZones decompile

a guest
Feb 11th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.22 KB | None | 0 0
  1.         public static ReadOnlyCollection<TimeZoneInfo> GetSystemTimeZones()
  2.         {
  3.             lock (s_internalSyncObject)
  4.             {
  5.                 if (!s_allSystemTimeZonesRead)
  6.                 {
  7.                     PermissionSet set = new PermissionSet(PermissionState.None);
  8.                     set.AddPermission(new RegistryPermission(RegistryPermissionAccess.Read, @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones"));
  9.                     set.Assert();
  10.                     using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones", RegistryKeyPermissionCheck.Default, RegistryRights.ExecuteKey))
  11.                     {
  12.                         if (key == null)
  13.                         {
  14.                             List<TimeZoneInfo> list;
  15.                             if (s_systemTimeZones != null)
  16.                             {
  17.                                 list = new List<TimeZoneInfo>(s_systemTimeZones.Values);
  18.                             }
  19.                             else
  20.                             {
  21.                                 list = new List<TimeZoneInfo>();
  22.                             }
  23.                             s_readOnlySystemTimeZones = new ReadOnlyCollection<TimeZoneInfo>(list);
  24.                             s_allSystemTimeZonesRead = true;
  25.                             return s_readOnlySystemTimeZones;
  26.                         }
  27.                         foreach (string str in key.GetSubKeyNames())
  28.                         {
  29.                             TimeZoneInfo info;
  30.                             Exception exception;
  31.                             TryGetTimeZone(str, false, out info, out exception);
  32.                         }
  33.                     }
  34.                     IComparer<TimeZoneInfo> comparer = new TimeZoneInfoComparer();
  35.                     List<TimeZoneInfo> list2 = new List<TimeZoneInfo>(s_systemTimeZones.Values);
  36.                     list2.Sort(comparer);
  37.                     s_readOnlySystemTimeZones = new ReadOnlyCollection<TimeZoneInfo>(list2);
  38.                     s_allSystemTimeZonesRead = true;
  39.                 }
  40.                 return s_readOnlySystemTimeZones;
  41.             }
  42.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement