我有一個函數返回從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