因此,问题很简单:如何从外部覆盖类的构造函数。问题本身是,我有一个已经编译的类,并且它已经有一些构造函数,但是那些程序员的白痴删除了一个构造函数,所以我现在无法对它进行 XML(de)Serialize...
所以他们所做的是:
他们改变了 Vector2(); 向量2(x,y);进入 Vector2(x=0,y=0);
但我的问题是,序列化程序并没有那么聪明地意识到他仍然可以创建类,并且更改整个代码将是一个痛苦的 * * *
因此,问题很简单:如何从外部覆盖类的构造函数。问题本身是,我有一个已经编译的类,并且它已经有一些构造函数,但是那些程序员的白痴删除了一个构造函数,所以我现在无法对它进行 XML(de)Serialize...
所以他们所做的是:
他们改变了 Vector2(); 向量2(x,y);进入 Vector2(x=0,y=0);
但我的问题是,序列化程序并没有那么聪明地意识到他仍然可以创建类,并且更改整个代码将是一个痛苦的 * * *
继承它并自己提供预期的构造函数。
您可以在代码需要实例的地方使用派生类的反序列化Vector2
实例:
public class Vector3: Vector2 {
public Vector3(): base(0, 0) {}
}
// Your code:
Vector2 vector = (Vector3)XmlSerializer.Deserialize(xmlReader);
如果某个类被标记为部分,您可以使用您自己的部分类声明添加它:
public partial class CompiledClass
{
public CompiledClass() { }
}