TimeZoneInfo.ClearCachedData Метод

Определение

Удаляет кэшированные данные о часовом поясе.Clears cached time zone data.

public:
 static void ClearCachedData();
public static void ClearCachedData ();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()

Комментарии

Кэшированные данные часового пояса включают данные по местному часовому поясу и часовой пояс в формате UTC.Cached time zone data includes data on the local time zone and the Coordinated Universal Time (UTC) zone.

Можно вызвать метод ClearCachedData, чтобы уменьшить объем памяти, выделяемой для кэша приложения по сведениям о часовом поясе, или отразить факт изменения часового пояса локальной системы.You might call the ClearCachedData method to reduce the memory devoted to the application's cache of time zone information or to reflect the fact that the local system's time zone has changed.

Не рекомендуется хранить ссылки на локальные и часовые пояса в формате UTC.Storing references to the local and UTC time zones is not recommended. После вызова метода ClearCachedData эти объектные переменные будут неопределенными TimeZoneInfo объекты, которые больше не являются ссылками на TimeZoneInfo.Local или TimeZoneInfo.Utc.After the call to the ClearCachedData method, these object variables will be undefined TimeZoneInfo objects that are no longer references to TimeZoneInfo.Local or TimeZoneInfo.Utc. Например, в следующем коде второй вызов метода TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) создает исключение ArgumentException, так как переменная local больше не считается TimeZoneInfo.Local.For example, in the following code, the second call to the TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) method throws an ArgumentException because the local variable is no longer considered equal to TimeZoneInfo.Local.

TimeZoneInfo cst = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
TimeZoneInfo local = TimeZoneInfo.Local;
Console.WriteLine(TimeZoneInfo.ConvertTime(DateTime.Now, local, cst));

TimeZoneInfo.ClearCachedData();
try
{
   Console.WriteLine(TimeZoneInfo.ConvertTime(DateTime.Now, local, cst));
}
catch (ArgumentException e)
{
   Console.WriteLine(e.GetType().Name + "\n   " + e.Message);
}      
Dim cst As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")
Dim local As TimeZoneInfo = TimeZoneInfo.Local
Console.WriteLine(TimeZoneInfo.ConvertTime(Date.Now, local, cst))

TimeZoneInfo.ClearCachedData()
Try
   Console.WriteLine(TimeZoneInfo.ConvertTime(Date.Now, local, cst))
Catch e As ArgumentException
   Console.WriteLine(e.GetType().Name & vbCrLf & "   " & e.Message)
End Try

Применяется к