Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 416019f

Browse files
committed
Merge pull request #2771 from dotnet-bot/from-tfs
Merge changes from TFS
2 parents 8bd1496 + 552754e commit 416019f

File tree

2 files changed

+6
-58
lines changed

2 files changed

+6
-58
lines changed

src/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -41,35 +41,9 @@ internal abstract class DataContract
4141

4242
#if NET_NATIVE
4343
// this the global dictionary for data contracts introduced for multi-file.
44-
private static Func<Dictionary<Type, DataContract>> s_dataContractsInitializer;
45-
private static Lazy<Dictionary<Type, DataContract>> s_dataContracts = new Lazy<Dictionary<Type, DataContract>>(InitDataContracts);
44+
private static Dictionary<Type, DataContract> s_dataContracts = new Dictionary<Type, DataContract>();
4645

47-
public static Func<Dictionary<Type, DataContract>> DataContractsInitializer
48-
{
49-
get
50-
{
51-
return s_dataContractsInitializer;
52-
}
53-
set
54-
{
55-
Fx.Assert(s_dataContractsInitializer == null, "s_dataContractsInitializer is already initialized.");
56-
s_dataContractsInitializer = value;
57-
}
58-
}
59-
60-
private static Dictionary<Type, DataContract> InitDataContracts()
61-
{
62-
if (DataContractsInitializer != null)
63-
{
64-
return DataContractsInitializer();
65-
}
66-
else
67-
{
68-
return new Dictionary<Type, DataContract>();
69-
}
70-
}
71-
72-
public static Lazy<Dictionary<Type, DataContract>> GetDataContracts()
46+
public static Dictionary<Type, DataContract> GetDataContracts()
7347
{
7448
return s_dataContracts;
7549
}
@@ -101,7 +75,7 @@ private static DataContract GetGeneratedDataContract(Type type)
10175
// this method used to be rewritten by an IL transfrom
10276
// with the restructuring for multi-file, it has become a regular method
10377
DataContract result;
104-
return s_dataContracts.Value.TryGetValue(type, out result) ? result : null;
78+
return s_dataContracts.TryGetValue(type, out result) ? result : null;
10579
}
10680

10781
internal static bool TryGetDataContractFromGeneratedAssembly(Type type, out DataContract dataContract)

src/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonDataContract.cs

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -348,37 +348,11 @@ internal class JsonReadWriteDelegates
348348
#endif
349349
{
350350
// this is the global dictionary for JSON delegates introduced for multi-file
351-
private static Func<Dictionary<DataContract, JsonReadWriteDelegates>> s_jsonDelegatesInitializer;
352-
private static Lazy<Dictionary<DataContract, JsonReadWriteDelegates>> s_jsonDelegates = new Lazy<Dictionary<DataContract, JsonReadWriteDelegates>>(InitJsonDelegates);
351+
private static Dictionary<DataContract, JsonReadWriteDelegates> s_jsonDelegates = new Dictionary<DataContract, JsonReadWriteDelegates>();
353352

354-
public static Func<Dictionary<DataContract, JsonReadWriteDelegates>> JsonDelegatesInitializer
353+
public static Dictionary<DataContract, JsonReadWriteDelegates> GetJsonDelegates()
355354
{
356-
get
357-
{
358-
return s_jsonDelegatesInitializer;
359-
}
360-
set
361-
{
362-
Fx.Assert(s_jsonDelegatesInitializer == null, "s_jsonDelegatesInitializer is already initialized.");
363-
s_jsonDelegatesInitializer = value;
364-
}
365-
}
366-
367-
private static Dictionary<DataContract, JsonReadWriteDelegates> InitJsonDelegates()
368-
{
369-
if (JsonDelegatesInitializer != null)
370-
{
371-
return JsonDelegatesInitializer();
372-
}
373-
else
374-
{
375-
return new Dictionary<DataContract, JsonReadWriteDelegates>();
376-
}
377-
}
378-
379-
internal static Dictionary<DataContract, JsonReadWriteDelegates> GetJsonDelegates()
380-
{
381-
return s_jsonDelegates.Value;
355+
return s_jsonDelegates;
382356
}
383357

384358
public JsonFormatClassWriterDelegate ClassWriterDelegate { get; set; }

0 commit comments

Comments
 (0)