我有一个返回从 WCF Web 服务获得的实体的函数。我应该如何返回这个实体?我认为我不能返回原始对象(来自 Web 服务),因为这意味着函数的调用者(来自其他程序集)将被迫拥有对此 Web 服务的服务引用(因为该类定义在服务参考),我想我想避免这种情况。而且我认为我也不能使用接口,因为我无法修改 WCF 实体来实现我的接口。
另一方面,我需要准确地返回原始实体具有的所有属性,例如。所有属性都需要在那里,并且不需要对任何值或任何属性名称和类型进行转换/调整。
创建一个从原始 WCF 类复制相同属性的新类会更好吗?我应该如何实现它,创建一个从原始对象复制所有值的新对象是否更好,例如
return new Foo() { Id = original.Id, Name = original.Name
, ... 等等}
?
或者只是用 get set 方法包装它,例如:
public int Id
{
get { return _original.Id; }
set { _original.Id = value; }
}
并且知道如何命名新类以避免与 WCF 参考中的原始类名产生歧义吗?