2010-11-04 105 views
1

問題:派生接口對WCF代理類

我有兩個(或更多)的類其是非常相似:一個類的屬性是其它類的屬性的子集。更具體地說,屬性名稱和語義是相等的,但不一定是它們的類型。但是,如果具有相同名稱的財產的類型不同,這些類型又是非常類似(在同一意義上)。

我想爲所有相似類集合派生通用接口,所以我可以以相同的方式使用不同類的實例。

由於我的類有超過100個屬性,我想避免手動創建接口,如果有可能的話。

該接口應該包含所有相似類的所有屬性集合的聯合。 (當一個屬性被讀取時,對於特定對象不存在,null應該被返回。當這樣一個未定義的屬性被設置時,什麼都不應該發生。)所以我想一個接口不再適合了,而是一個接口包裝類或不同的東西......

語境:

我使用WCF消費Web服務(CreateSalesOrder)。的服務的輸入消息需要

輸出消息中攜帶的架構類型的元素的XML模式類型Request_SalesOrder由其它XSD類型的兒童等Request_ItemRequest_ShipToLocation等的元素Response_SalesOrder其中具有類似的架構類型的子元素Response_Item,Response_ShipToLocation等和一些附加元素,例如元素PriceTotal類型Response_PriceTotal

我想建立一個使用ASP.Net MVC消費Web服務的UI。所以我有一個視圖呈現一個創建銷售訂單的表單。提交Web Service請求後,必須使用Web Service響應消息中的值更新表單字段。

表單字段綁定到訪問代理類屬性的視圖模型。當提交表單時,視圖模型必須更新代理類A的實例,而在表單使用響應消息中的值呈現的情況下,視圖模型從代理類B的實例中讀取。

回答