是否知道转换特定对象的原因,让我们说Student
为byte[]
。
不包括Serialization
/ Deserialization
。
我想到的一种方法是首先创建它时从内存中提取它,但我相信这有点深远,我认为有一种更简单的方法。
我正在考虑尝试TypeConverter
,但据我了解,它会尝试将其与byte[]
匹配,而不会实际检索其byte[]
等效内容。
任何输入都会有所帮助,我也看过google创建的序列化程序,但必须有一种内置的方式来获取对象的byte[]
等价物。
欢迎任何确认或建设性批评。
答案 0 :(得分:3)
你可以试试这个:
TypeConverter obj = TypeDescriptor.GetConverter(objectMessage.GetType());
byte[] bt = (byte[])obj.ConvertTo(objectMessage, typeof(byte[]));
答案 1 :(得分:-1)
下面是将对象转换为byte的代码。
var msg = Encoding.Default.GetBytes(System.Web.Helpers.Json.Encode(ObjectName));
答案 2 :(得分:-2)
byte[] ToByteArray(Object obj)
{
if(obj != null)
{
using(var ms = new MemoryStream())
{
var bf = new BinaryFormatter()
bf.Serialize(ms, obj);
return ms.ToArray();
}
}
return null;
}