有什么方法可以隐藏/平坦的基本类型在WCF服务数据合同中?
-
29-09-2019 - |
题
考虑以下简单示例:
[DataContract("{0}Base")]
public class Base<T> where T : Entity<T>
{
// Common methods & properties. No WCF exposed properties
}
[DataContract]
public class Employee : Base<Employee>
{
// WCF exposed properties
}
基类基础对WCF服务消费者没有感兴趣的属性,但是WCF迫使我还用[Datacontract]属性注释基类。从本质上讲,这在服务客户端显示 Employee : EmployeeBase
和 EmployeeBase
是一个没有属性的空课。
我不想揭露 Base<T>
以这种方式上课,那么我有什么选择?
- DTO为员工课 - 我宁愿不添加这种复杂性
- “平坦”数据合同层次结构,以使员工的数据合同不会暴露其继承
Base<T>
. 。这可能吗?如何? - 其他解决方案?
谢谢。
解决方案
Hiechy中的每个类都必须序列化 /数据合同。如果您不想揭露Hiechyy,则必须使用DTO,也可以尝试为您的员工类实现IDATACNACTACTSUROGGATE。
不隶属于 StackOverflow