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