【发布时间】:2020-09-05 16:45:59
【问题描述】:
我有这样的课:
[DataContract, Serializable]
public class MyInfo
{
string firstName;
string fullName;
}
有一个像 GetMyInfo(MyInfo myInfo) 这样暴露的 api,其中使用了上面的类。
我的四个(app1、app2、app3、app4)应用程序正在使用此合同。 到目前为止,一切都运行良好。但我有一个新要求,即向接口添加一个新成员,即字典。
新的类会是这样的:
[DataContract, Serializable]
public class MyInfo
{
string firstName;
string fullName;
Dictionary<string, string> parameter = null;
}
现在我的问题是,由于类定义已更改,我的 app1 和 app2 将使用新的类定义进行编译,因为 app1 和 app2 需要字典,而 app3 和 app4 不希望这样,这就是我将字典创建为默认值的原因参数。
现在,如果 app3 或 app4 没有使用新的类定义进行编译并调用 GetMyInfo(MyInfo myInfo),那么一切都会正常工作,我的意思是所有序列化都不会中断。
【问题讨论】:
标签: c# wcf datacontractserializer datacontract