WCF DataContract与DataContract接口
WCF新手。
DataContact类可以从Interfaceinheritance吗?
例如:
[DataContract(Namespace = ...........)] public class VesselSequence : IVesselSequence { [DataMember] public int AllocationId { get; set; } [DataMember] public string ScenarioName { get; set; } } interface VesselSequence : IVesselSequence { public int AllocationId { get; set; } public string ScenarioName { get; set; } }
你可以这样做:
[DataContract(Namespace = ...........)] public class VesselSequence : IVesselSequence { [DataMember] public int AllocationId { get; set; } [DataMember] public string ScenarioName { get; set; } } interface IVesselSequence { int AllocationId { get; set; } string ScenarioName { get; set; } }
遗憾的是,你不能这样做:
public class VesselSequence : IVesselSequence { public int AllocationId { get; set; } public string ScenarioName { get; set; } } [DataContract(Namespace = ...........)] interface IVesselSequence { [DataMember] int AllocationId { get; set; } [DataMember] string ScenarioName { get; set; } }
确定它可以,但请记住,如果要返回接口类型,则必须为反序列化引擎定义KnownTypes属性,以便它可以在另一端反序列化发送的接口。