我有一个函数返回从WCF Web服务获得的实体。我应该如何返回这个实体?我不认为我可以返回原始对象(来自Web服务),因为这意味着函数的调用者(来自其他程序集)将被强制引用该Web服务的服务引用(因为该类是在服务参考),我想我想避免这种情况。而且我也不认为我可以使用接口,因为我无法修改WCF实体来实现我的接口。返回从WCF Web服务获得的对象
另一方面,我需要精确返回原始实体具有的所有属性,例如。所有属性都需要存在,并且不需要对任何值或任何属性名称和类型进行转换/调整。
是否更好创建一个新的类,从原始的WCF类复制相同的属性?我应该如何实现它,创建一个新的对象来复制原始对象的所有值比较好,
return new Foo() { Id = original.Id, Name = original.Name
...等}
?
或只是获取设置的方法,如把它包:
public int Id
{
get { return _original.Id; }
set { _original.Id = value; }
}
而且知道怎样来命名新的类,以避免从WCF参考原来的类名歧义?
或者使用类似Automapper的类将一个类转换为另一个类? – stephenl 2013-02-26 06:22:53