我被卡住目前试图创建一个类更新。C# - 在含有相同的变量/属性比较不同类别的
有一个序列ClassA的包含一个整数 - ,和一个字符串 -variable例如。 ClassA的被转换为对象,系列化,然后保存到一个二进制文件。 之后有一个程序更新,它改变类别A包含两个整数 - 和字符串-变量。老ClassA的更名为ClassA_0。 当数据被加载从二进制文件回来,反序列化对象被作为参数的更新器方法传递。
的问题是:如何比较这对象到ClassA_0和ClassA的到dertermine“版本”它被保存为?
编辑:
[Serializable]
public class ClassA
{
int VarA;
int VarB;
string VarC;
public ClassA()
{
//[...]
}
public void MethodX()
{
//[...]
}
}
[Serializable]
public class ClassA_0
{
int VarA;
string VarB;
public ClassA()
{
//[...]
}
public void MethodX()
{
//[...]
}
}
这些都是假的班,所以我没有指定在构造函数或方法的任何代码。
您不需要事先知道要反序列化的类型。所以你不能反序列化成“对象”,然后试着找出它的实际类型。 – CodeCaster
您可以发布ClassA和ClassA_O的类结构 – Alex
“序列化” - 序列化如何?这是'BinaryFormatter'吗?如果是的话......我不会 - 你有没有灵活性来改变你的序列化方法? –