C#:从 IConvertible 获取 Bytearray

C#: Get Bytearray from IConvertible

我目前正在做一个编辑二进制文件的小项目。因此,我想使用 IConvertible 接口,因为我无法为每种类型创建 Getter 和 Setter。
目前我正在研究需要将 IConvertible 对象转换为字节数组的 Setter。

Setter 目前看起来是这样的:
public void SetValue(UInt32 Offset, IConvertible Value) { }

是否有人知道从 IConvertible 对象获取字节数组的方法,因为 BitConverter 不提供这样做的本机方法。

IConvertible 不适用于这种情况,正如 IConvertibleToStringToUInt64 等)的主要方法所反映的那样。 辅助ToType可以工作,但大多数类型不支持ToTypebyte[](对于 conversionType)。如果是这样,那么这将起作用:

var blob = Convert.ChangeType(obj, typeof(byte[]));

但是,这不是您应该做的事情,这不是预期的用途。坦率地说,您的序列化详细信息通常应该 对象分开存在。