2
如何反序列化一个类,这样其他类:序列化和反序列化(C#)
var ser = SerializedObject(b);// read from Database!
var des = DeSerializeAnObject(ser, typeof(BaseClass));
BaseClass baseclass = (BaseClass)des;
baseclass.Hello();
如何反序列化一个类,这样其他类:序列化和反序列化(C#)
var ser = SerializedObject(b);// read from Database!
var des = DeSerializeAnObject(ser, typeof(BaseClass));
BaseClass baseclass = (BaseClass)des;
baseclass.Hello();
你确定它的真正的序列化/反序列化你后?听起来像你想要的是代码映射(即复制选定或所有属性)一个对象到另一个。
看看AutoMapper Getting Started Guide。
在你的榜样下,你可以做这样的事情
BaseClass baseClass = Mapper.Map<OtherClass, BaseClass>(b);
我也与你在你的榜样选择的类名有些困惑。如果“BaseClass”真的是OtherClass的基类,那么你只需要做一个演员,但我会猜测事实并非如此。
一个反序列化样品就像是......
public BaseClass DeSerializeAnObject(BaseClass bc)
{
if (bc == null) return bc;
IFormatter formatter = new BinaryFormatter();
using (Stream stream = new MemoryStream())
{
formatter.Serialize(stream, bc);
stream.Seek(0, SeekOrigin.Begin);
return (BaseClass)formatter.Deserialize(stream);
}
}
想我没有其他类,(仅序列化类是在数据库中)。我想从序列化对象执行Hello()。请问,我的英文不好。 – 2011-12-18 12:09:30
@AhmadAhmadi您的意思是说其他一些进程/系统是否将您未知的类型的对象序列化到数据库中,并且您希望对它们进行反序列化? – 2011-12-18 12:13:27
是的,我必须反序列化它们并执行方法。 – 2011-12-18 12:15:37