2011-01-28 54 views
2

在Silverlight 4中,BinaryReader似乎沒有任何ReadDecimal()方法。Silverlight替換爲BinaryReader.ReadDecimal

反射器顯示它在那裏,但internal知名度,而不是public

除了通過dynamic詭計或反射使用那一個,有沒有人得到一個很好的解決方法。或者這是計劃的所有部分?


埃裏卡除了:有趣的是,反射器也顯示出有 InternalsVisibleToAttribute S IN銀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

謝謝,會做很好的伎倆!仍然有興趣知道它爲什麼不公開的原因,但... – 2011-02-02 08:59:07