C# 对象反序列化
对于反序列化,我使用工作方法:C# 对象反序列化,c#,generics,object,deserialization,C#,Generics,Object,Deserialization,对于反序列化,我使用工作方法: public static bool InvokeDeserializeMethod<T>(ref T o, string serializedObject) { Type[] typesParameters = new Type[]{typeof(string)}; MethodInfo methodInfo = typeof(o).GetMethod("Deserialize",typ
public static bool InvokeDeserializeMethod<T>(ref T o, string serializedObject)
{
Type[] typesParameters = new Type[]{typeof(string)};
MethodInfo methodInfo = typeof(o).GetMethod("Deserialize",typesParameters);
object[] deserializeMethodParameters = new string [] {serializedObject};
if (methodInfo != null)
{
try
{
o = (T)methodInfo.Invoke(o, deserializeMethodParameters);
return true;
}
catch
{
return false;
}
}
return false;
}
公共静态bool invokedeSerializedMethod(ref T o,string serializedObject)
{
类型[]类型参数=新类型[]{typeof(string)};
MethodInfo MethodInfo=typeof(o).GetMethod(“反序列化”,类型参数);
对象[]反序列化MethodParameters=新字符串[]{serializedObject};
如果(methodInfo!=null)
{
尝试
{
o=(T)methodInfo.Invoke(o,反序列化MethodParameters);
返回true;
}
抓住
{
返回false;
}
}
返回false;
}
现在我正在制作复制、粘贴函数,我需要反序列化一些序列化对象(字符串)
我不能使用这个方法,因为我不想发送一些现有对象的引用,我需要创建一个新对象
如果我有这样一种方法,那将是最好的:
public static T InvokeDeserializeMethod<T>(string serializedObject)
publicstatict invokedSerializedMethod(string serializedObject)
有没有办法实现它,返回类型为T的对象,而不需要我发送给方法的现有对象?(我将用于此方法的每个对象都包含序列化和反序列化方法)
谢谢 如果知道已知类型的构造函数参数,或者不想在反序列化时调用类型构造函数,则可以使用其中一个方法重载来创建该类型的实例