我目前正在处理一个编辑二进制文件的小项目。因此我想使用IConvertible接口,因为我不能为每种类型创建一个Getter和Setter。
目前我正在研究Setter,它需要将IConvertible对象转换为bytearray。
Setter目前看起来像这样:
public void SetValue(UInt32 Offset, IConvertible Value) { }
有人知道从IConvertible对象获取bytearray的方法,因为BitConverter没有提供本地方式。
答案 0 :(得分:2)
IConvertible
不适用于此方案,正如IConvertible
(ToString
,ToUInt64
等主要方法所反映的那样。 可以工作的辅助ToType
,但大多数类型不支持 ToType
{{1} }(对于byte[]
)。如果确实如此,那么这将起作用:
conversionType
然而,这是不您应该做的事情,并不是预期的用途。坦率地说,您的序列化细节通常应该分开对象。