TimeZoneInfo.ClearCachedData Yöntem

Tanım

Önbelleğe alınan saat dilimi verilerini temizler.

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

Açıklamalar

Önbelleğe alınan saat dilimi verileri, yerel saat dilimi ve Eşgüdümlü Evrensel Saat (UTC) dilimindeki verileri içerir.

Uygulamanın saat dilimi bilgileri önbelleğine ayrılmış belleği azaltmak veya yerel sistemin saat diliminin değiştiğini yansıtmak için yöntemini çağırabilirsiniz ClearCachedData .

Yerel ve UTC saat dilimlerine başvuruların depolanması önerilmez. yöntemine yapılan çağrıdan ClearCachedData sonra, bu nesne değişkenleri artık veya TimeZoneInfo.Utcöğesine TimeZoneInfo.Local başvurulmayan tanımsız TimeZoneInfo nesneler olacaktır. Örneğin, aşağıdaki kodda, değişkeni artık değerine eşit TimeZoneInfo.Localolarak kabul edilmediğinden yöntemine local yapılan ikinci çağrı TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) bir ArgumentException oluşturur.

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

Şunlara uygulanır