TimeZoneInfo.ClearCachedData Metode

Definisi

Menghapus data zona waktu yang di-cache.

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

Keterangan

Data zona waktu yang di-cache mencakup data pada zona waktu lokal dan zona Waktu Universal Terkoordinasi (UTC).

Anda dapat memanggil ClearCachedData metode untuk mengurangi memori yang dikhususkan untuk cache informasi zona waktu aplikasi atau untuk mencerminkan fakta bahwa zona waktu sistem lokal telah berubah.

Menyimpan referensi ke zona waktu lokal dan UTC tidak disarankan. Setelah panggilan ke ClearCachedData metode , variabel objek ini akan menjadi objek yang tidak ditentukan TimeZoneInfo yang tidak lagi mereferensikan ke TimeZoneInfo.Local atau TimeZoneInfo.Utc. Misalnya, dalam kode berikut, panggilan kedua ke TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) metode melemparkan ArgumentException karena local variabel tidak lagi dianggap sama dengan 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);
}
open System

let cst = TimeZoneInfo.FindSystemTimeZoneById "Central Standard Time"
let local = TimeZoneInfo.Local
printfn $"{TimeZoneInfo.ConvertTime(DateTime.Now, local, cst)}"

TimeZoneInfo.ClearCachedData()
try
   printfn $"{TimeZoneInfo.ConvertTime(DateTime.Now, local, cst)}"
with :? ArgumentException as e ->
   printfn $"{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

Berlaku untuk