2010-01-11 61 views
0

問題很簡單,找到答案不是(對我來說至少)。我可以從我沒有寫的類創建WCF服務合約嗎?

我想做一個WCF服務,查詢MapPoints FindAddressResults()並返回我然後用Ajax和Javascript獲取的答案。

但問題是,現在我得到FindAddressResults()的FindResults結果,我不知道如何將它公開爲合同。所以我做了一個包裝結果類。

當我無法訪問源代碼時,如何將FindResults作爲服務合同公開?

[編輯]

FindResults的定義是這樣的:

namespace MapPoint 
{ 
    [TypeLibType(4288)] 
    [Guid("188084CF-DB96-482B-97A6-2571DF9BEF81")] 
    public interface FindResults : IEnumerable 
    { 
     [DispId(100663313)] 
     Application Application {get; } 
     [DispId(100663321)] 
     int Count {get; } 
     [DispId(-803)] 
     Map Parent {get; } 
     [DispId(100672001)] 
     GeoFindResultsQuality ResultsQuality {get; } 

     [DispId(0)] 
     object this[ref object Index] {get; } 

     [TypeLibFunc(64)] 
     [DispId(-4)] 
     IEnumerator GetEnumerator(); 
    } 
} 
+0

FindResults是公開課嗎? WCF可以將公共類推斷爲數據合同。 – Sean 2010-01-11 08:30:16

+0

我在上面添加了FindResults的定義,並且是公開的。 – HerrLiljegren 2010-01-11 09:51:05

回答

0

可你只是延長你想要的類並添加合同屬性?

[ServiceContract] 
public MyFindResults : FindResults 
{ 
    [DataMember] 
    public new string String1 
    { 
    get 
    { 
     return base.String1; 
    } 
    } 
} 
+0

但是我不需要向所有成員添加[DataMember]? – HerrLiljegren 2010-01-11 08:15:00

+0

覆蓋/'新'所有這些以及(我編輯我的答案來說明)。 – 2010-01-11 08:25:49

相關問題