use*_*896 5 c# serialization anonymous
我想将匿名类型变量转换为 byte[],我该怎么做?
我试过的:
byte[] result;
var my = new
{
Test = "a1",
Value = 0
};
BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, my); //-- ERROR
result = ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
我有错误:
mscorlib.dll 中出现“System.Runtime.Serialization.SerializationException”类型的异常,但未在用户代码中处理
Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Int32,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]]' in Assembly='MyCulture.0 =neutral, PublicKeyToken=null' 未标记为可序列化。附加信息:类型 '<>f__AnonymousType10`2[[System.String, mscorlib,
有人可以帮助我吗?我做错了什么?或者这是不可能做到的?
要使用默认序列化器系列(XmlSerializer、BinaryFormatter、DataContractSerializer...)进行序列化的类型需要进行标记[Serializable],需要是公共类型,并且需要公共读写属性。
匿名类型不能履行此角色,因为它们没有任何必需的属性。
只需创建一个类型,然后将其序列化即可。
| 归档时间: |
|
| 查看次数: |
9567 次 |
| 最近记录: |