我正在编写一个函数来帮助序列化数据以通过套接字。我想写一个小函数来序列化一个项目。
private byte[] SerializeOne<T>(T data)
{
byte[] oneItem = new byte[Constants.ONE_ITEM_BUFFER];
oneItem = BitConverter.GetBytes(data);
if (BitConverter.IsLittleEndian)
oneItem.Reverse();
return oneItem; }
问题是BitConverter总是假设数据是类型bool并抛出此错误:参数1无法从T转换为bool。我是否缺少一些强制BitConverter使用T类型的语法,或者这在C#中是不可能的?