我在使用 WCF 传输子类时遇到了一点问题。我想创建一个通用的“反馈”类,并从反馈中继承:成功类和失败类(失败有错误代码和描述)。这应该使客户端能够执行以下操作:
If (myWCFclient.authenticate(user, password) is Succes)
{
..
}
在我的 WCF 数据合同中,我是这样定义的:
[DataContract]
public class Feedback : IFeedback
{
}
[DataContract]
public class Succes : Feedback
{
}
[DataContract]
public class Failure : Feedback
{
[DataMember]
public int errorCode { get; set; }
[DataMember]
public String description { get; set; }
}
这很好用,我的操作合同如下所示:
[OperationContract]
Feedback Authenticate(String email, String password);
但是在我接收这些课程的“客户”应用程序中,我只发现“反馈”作为一个课程,“成功”和“失败”无处可寻。
有谁知道我做错了什么?我是否应该在我的 DataContracts 中定义那些不同的“成功”和“失败”类,因为它们是“反馈”的子类?
提前致谢。