Silverlight替换BinaryReader.ReadDecimal

时间:2011-01-28 13:34:38

标签: silverlight serialization silverlight-4.0 decimal porting

在Silverlight 4中,BinaryReader似乎没有任何ReadDecimal()方法。

反射器显示它存在internal可见性,而不是public

除了通过dynamic欺骗或反思使用那个之外,有没有人有一个很好的解决方法来获得它。或者这是计划的一部分吗?


Erica Aside:有趣的是,Reflector还显示Ag InternalsVisibleToAttribute中有 10 mscorlib s(遗憾的是没有我的:D),我认为, 512 +字节一个go提供了足够的优化空间!我确信鲍勃也在那里:D

1 个答案:

答案 0 :(得分: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);