在Silverlight 4中,BinaryReader
似乎没有任何ReadDecimal()
方法。
反射器显示它存在internal
可见性,而不是public
。
除了通过dynamic
欺骗或反思使用那个之外,有没有人有一个很好的解决方法来获得它。或者这是计划的一部分吗?
Erica Aside:有趣的是,Reflector还显示Ag InternalsVisibleToAttribute
中有 10 mscorlib
s(遗憾的是没有我的:D),我认为, 512 +字节一个go提供了足够的优化空间!我确信鲍勃也在那里:D
答案 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);