@@ -1346,14 +1346,14 @@ private unsafe int ReadArray(float[] array, int offset, int count)
13461346
13471347 public override int ReadArray ( string localName , string namespaceUri , float [ ] array , int offset , int count )
13481348 {
1349- if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . FloatTextWithEndElement ) )
1349+ if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . FloatTextWithEndElement ) && BitConverter . IsLittleEndian )
13501350 return ReadArray ( array , offset , count ) ;
13511351 return base . ReadArray ( localName , namespaceUri , array , offset , count ) ;
13521352 }
13531353
13541354 public override int ReadArray ( XmlDictionaryString localName , XmlDictionaryString namespaceUri , float [ ] array , int offset , int count )
13551355 {
1356- if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . FloatTextWithEndElement ) )
1356+ if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . FloatTextWithEndElement ) && BitConverter . IsLittleEndian )
13571357 return ReadArray ( array , offset , count ) ;
13581358 return base . ReadArray ( localName , namespaceUri , array , offset , count ) ;
13591359 }
@@ -1372,14 +1372,14 @@ private unsafe int ReadArray(double[] array, int offset, int count)
13721372
13731373 public override int ReadArray ( string localName , string namespaceUri , double [ ] array , int offset , int count )
13741374 {
1375- if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DoubleTextWithEndElement ) )
1375+ if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DoubleTextWithEndElement ) && BitConverter . IsLittleEndian )
13761376 return ReadArray ( array , offset , count ) ;
13771377 return base . ReadArray ( localName , namespaceUri , array , offset , count ) ;
13781378 }
13791379
13801380 public override int ReadArray ( XmlDictionaryString localName , XmlDictionaryString namespaceUri , double [ ] array , int offset , int count )
13811381 {
1382- if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DoubleTextWithEndElement ) )
1382+ if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DoubleTextWithEndElement ) && BitConverter . IsLittleEndian )
13831383 return ReadArray ( array , offset , count ) ;
13841384 return base . ReadArray ( localName , namespaceUri , array , offset , count ) ;
13851385 }
@@ -1398,14 +1398,14 @@ private unsafe int ReadArray(decimal[] array, int offset, int count)
13981398
13991399 public override int ReadArray ( string localName , string namespaceUri , decimal [ ] array , int offset , int count )
14001400 {
1401- if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DecimalTextWithEndElement ) )
1401+ if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DecimalTextWithEndElement ) && BitConverter . IsLittleEndian )
14021402 return ReadArray ( array , offset , count ) ;
14031403 return base . ReadArray ( localName , namespaceUri , array , offset , count ) ;
14041404 }
14051405
14061406 public override int ReadArray ( XmlDictionaryString localName , XmlDictionaryString namespaceUri , decimal [ ] array , int offset , int count )
14071407 {
1408- if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DecimalTextWithEndElement ) )
1408+ if ( IsStartArray ( localName , namespaceUri , XmlBinaryNodeType . DecimalTextWithEndElement ) && BitConverter . IsLittleEndian )
14091409 return ReadArray ( array , offset , count ) ;
14101410 return base . ReadArray ( localName , namespaceUri , array , offset , count ) ;
14111411 }
0 commit comments