2

В Silverlight 4, BinaryReader, похоже, нет никакого метода ReadDecimal().Замена Silverlight для BinaryReader.ReadDecimal

Отражатель показывает, что он есть, но с internal видимость, а не public.

Помимо использования этого через dynamic обман или рефлексию, у кого-то есть хорошее обходное решение для его получения. Или это часть плана?


Erica Помимо: занятно, Отражатель также показывает, что есть InternalsVisibleToAttribute s в Ag mscorlib (к сожалению ни к моему: D), который я предполагаю, на 512+ байт идти дает много возможностей для оптимизация! Я уверен, что Боб там тоже: D

ответ

1

Там нет прямой замены, но вы можете достичь того же результата, как это:

// write it, assume bw = BinaryWriter 
var bits = decimal.GetBits(myDecimal); 
bw.Write(bits[0]); 
bw.Write(bits[1]); 
bw.Write(bits[2]); 
bw.Write(bits[3]); 

// read it, assume br = BinaryReader 
var bits = new int[4]; 
bits[0] = br.ReadInt32(); 
bits[1] = br.ReadInt32(); 
bits[2] = br.ReadInt32(); 
bits[3] = br.ReadInt32(); 
return new decimal(bits); 
+0

Спасибо, что будет делать трюк красиво! Все еще заинтересованы в том, чтобы узнать причину, почему это не публично, хотя ... –