2013-07-05 54 views
0

我有有一個嵌套的列表參數WCF方法,這樣嵌套列表作爲WCF Web服務的參數

public void Method(List<class1> class1Obj, List<List<SomeClass>> someClassObj) 
{ 
    // CODE 
} 

設置服務參考我在客戶端的參考方法來獲取此之後,通過它我可以打電話我的WCF方法

public void Method(class1[] class1Obj, SomeClass[][] someClassObj) 
{ 
    base.Channel.Method(class1Obj, someClassObj); 
} 

我們稱之爲從我的代碼這種方法我能做到這一點

void myServiceCaller() 
{ 
    List<class1> class1Obj = new List<class1>(); 
    // Add items to class1Obj 
    List<List<SomeClass>> someClassObj = List<List<SomeClass>>(); 
    // Add items to someClassObj 

    ServiceRef.myServiceClient service = new ServiceRef.myServiceClient(); 
    service.Method(
       class1Obj.ToArray(), // This one is fine 
       someClassObj.ToArray() // This gives me compile time error 
    ); 
} 

如何解決此問題以將List<List<SomeClass>>轉換爲SomeClass[][]

回答

1

當你把你的服務引用和彈出對話框,你可以在左下角點擊高級...按鈕,並從System.Array收藏類型下拉更改爲System.Collection.GenericList,那麼這將改變代理創建並使用List<...>而不是[...]使用集合時。此外,如果您已添加服務參考,則可以右鍵單擊解決方案樹中的服務參考,然後從上下文菜單中單擊配置服務參考...。這將顯示與上述相同的「高級」對話框。

+0

that worked,thanx :) – yogi

+0

很高興我能幫到你。 – Belogix