【发布时间】:2016-08-30 20:33:59
【问题描述】:
我正在编写一个对对象进行序列化和反序列化的类。 我希望能够将这个类与我传递给它的任何对象一起使用。
如何将对象传递给类?我将需要能够访问我发送它的实例的类字段,并且我还需要访问类的定义以便将文本反序列化回对象。
例如
//mainpage.cs code
private void sendObjectToSerialize()
{
var db = new DatabaseHandler();
var myCar = new Car();
myCar.Make = "Chevy";
string ObjectString = db.SerializeObject(myCar);
}
private void SendStringToBeDeserialized()
{
String myString = "SomeSerializeString" //this string would have been serialized using above Obect myCar
var db = new DatabaseHandler();
var myCar = new Car();
var myCar = db.DeserializeStringToObject(String,myCar);
}
//Database Handler Code
public string SerializeObject(Object myObject)
{
var myNewObject = new myObject();//doesn't work - error myObject used as a variable not a type
//...serialize the object passed to this function
}
public Object DeserializeStringToObject(String ObjectString ,Object myObject)
{
var myNewObject = new myObject;//error myObject used as a variable not a type
//convert string to Object of type myObject...
return mynewObject;
}
【问题讨论】:
-
请编辑这个并修复你可怕的格式,它读起来很乱......而且你根本不需要在此处输入代码标签
-
我输入时已格式化。不知何故,当我点击提交时发生了这种情况。让我们尝试纠正它。
-
你还需要调试你的代码
var myNewObject = new myObject;不应该是var myNewObject = new myObject();,如果你传入对象并且你有var my NewObject你为什么不把它分配给正在传递的参数..?同样在显示代码时请显示所有相关代码..例如Car的类定义您可能想查找如何使用Activator.CreateInstance -
感谢Edit MethodMan
标签: c# object serialization