我有一个WCF服务,它公开了它与DTO的接口。我有一个实体类MyClass
,它有两个属性SimpleProperty1
和SimpleProperty2
。此类中有一个名为CalculatedProperty1
的计算属性,它在计算其值时使用上述两个属性。我有一个MyClassDTO
dto类,它只有两个简单的属性。
在UI中,正在修改MyClassDTO
对象,我希望用户即时查看CalculatedProperty
的值。但是,根据我的理解,DTO不应该嵌入任何逻辑。在这种简单的场景中,在Web服务中实现一个函数以获取属性的计算值似乎有点浪费。我该如何完成这项工作?这样做的标准方法是什么?我看到WCF服务生成的类被定义为部分类。是否可以处理这种情况?
答案 0 :(得分:0)
您可以使用扩展方法显示计算属性
public class MyClassDTO
{
public string P1 { get; set; }
public string P2 { get; set; }
}
public static class MyClassDtoExtension
{
public static string ToCalculatedProperty(this MyClassDTO obj)
{
return obj.P1 + obj.P2;
}
}
//用法
var d = new MyClassDTO(){P1 = "1",P2 = "2"};
d.ToCalculatedProperty();