简单的计算属性和DTO

时间:2013-03-12 04:58:07

标签: c# winforms wcf

我有一个WCF服务,它公开了它与DTO的接口。我有一个实体类MyClass,它有两个属性SimpleProperty1SimpleProperty2。此类中有一个名为CalculatedProperty1的计算属性,它在计算其值时使用上述两个属性。我有一个MyClassDTO dto类,它只有两个简单的属性。 在UI中,正在修改MyClassDTO对象,我希望用户即时查看CalculatedProperty的值。但是,根据我的理解,DTO不应该嵌入任何逻辑。在这种简单的场景中,在Web服务中实现一个函数以获取属性的计算值似乎有点浪费。我该如何完成这项工作?这样做的标准方法是什么?我看到WCF服务生成的类被定义为部分类。是否可以处理这种情况?

1 个答案:

答案 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();