1

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

4

1 回答 1

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();
于 2013-03-12T05:09:02.407 回答