在WebService中传递SortedList, ListDictionary 和 Hashtab

[size=x-small;]在WebService中传递SortedList, ListDictionary 和 Hashtable 参数,如果直接传递,就会报错:System.NotSupportedException: The type System.Collections.SortedList is not
supported because it implements IDictionary.[/size]

[size=x-small;]通过集合类的CopyTo 方法将其转化成DictionaryEntry 数组,再进行传递;客户端接收后,再将其转化成SortedList, ListDictionary 和 Hashtable 集合。[/size]


[WebMethod]
public DictionaryEntry[] HelloWorld()
{
SortedList sl = new SortedList();
sl.Add("Key","Value");
DictionaryEntry[] array = new DictionaryEntry[sl.Count];
sl.CopyTo(array, 0);
return array;
}

[size=85%; font-family: Verdana;][size=x-small;]
[/size][/size]
[size=x-small;]
public void get(DictionaryEntry[] entries)
{
       SortedList list = new SortedList();
        foreach (DictionaryEntry entry in entries)
        {
               ist.Add(entry.Key, entry.Value);
        }
}


[/size]




你可能感兴趣的:(webservice)