diff --git a/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ArrayRecordDeserializer.cs b/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ArrayRecordDeserializer.cs index a516ad29a9fc6..1a38584078726 100644 --- a/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ArrayRecordDeserializer.cs +++ b/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ArrayRecordDeserializer.cs @@ -53,6 +53,7 @@ internal ArrayRecordDeserializer(ArrayRecord arrayRecord, IDeserializer deserial Object = _arrayOfT = Array.CreateInstance(_elementType, lengths); _lengths = lengths; _indices = new int[lengths.Length]; + _canIterate = _arrayOfT.Length > 0; } internal override Id Continue() diff --git a/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ClassRecordDeserializer.cs b/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ClassRecordDeserializer.cs index ab8a8a2afba61..0b787fb2d9819 100644 --- a/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ClassRecordDeserializer.cs +++ b/src/libraries/System.Resources.Extensions/src/BinaryFormat/Deserializer/ClassRecordDeserializer.cs @@ -45,8 +45,7 @@ internal static ObjectRecordDeserializer Create(ClassRecord classRecord, IDeseri #if NETCOREAPP RuntimeHelpers.GetUninitializedObject(type); #else - // adsitnik: is this the best option we have? - Activator.CreateInstance(type); + Runtime.Serialization.FormatterServices.GetUninitializedObject(type); #endif // Invoke any OnDeserializing methods.