blob: 744c69712412313710709173b443fdd87ab80e28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections;
using System.Globalization;
namespace System
{
internal partial class CurrentSystemTimeZone
{
private DaylightTime GetCachedDaylightChanges(int year)
{
Object objYear = (Object)year;
if (!m_CachedDaylightChanges.Contains(objYear))
{
DaylightTime currentDaylightChanges = CreateDaylightChanges(year);
lock (m_CachedDaylightChanges)
{
if (!m_CachedDaylightChanges.Contains(objYear))
{
m_CachedDaylightChanges.Add(objYear, currentDaylightChanges);
}
}
}
return (DaylightTime)m_CachedDaylightChanges[objYear];
}
// The per-year information is cached in in this instance value. As a result it can
// be cleaned up by CultureInfo.ClearCachedData, which will clear the instance of this object
private readonly Hashtable m_CachedDaylightChanges = new Hashtable();
}
}
|