none
windows mobile 5 读取webservice传过来的DictionaryEntry[] RRS feed

  • 常规讨论

  • PDA通过webservice获取DictionaryEntry[]数组,里面是我自定义的类型,普通的桌面应用程序可以正常获取,而且里面的类型也是正常的,但是在windows mobile5 环境下,得到的DictionaryEntry[]里面的类型是Object,而且无法强制转换成我需要的自定义类型,不知道是怎么回事,希望大家帮忙看看~~

    Webservice的代码大概如下
    [WebMethod]
            public global::ItemSync[] SearchNeedSyncItems(String para)
            {
                 Hashtable sl = new Hashtable();

                 ItemSync[] itemsyncs = GetItemSync(para);//自定义类型

                 foreach (ItemSync isync in itemsyncs)
                 {
                     Item item = GetItem(isync.id);//自定义类型
                     sl.Add(isync, item);
                 }

                 DictionaryEntry[] array = new DictionaryEntry[sl.Count];
                 sl.CopyTo(array, 0);
                 return array;      
           }

     PDA端的代码大概如下

    DictionaryEntry[] syncs = syncservice.SearchSyncItems(syncdate);
    奇怪的就是同样的代码,在普通的windows应用程序中正常,但是windows mobile 环境下就不行了。
    2009年8月27日 17:19

全部回复

  • webservice的代码贴错了

    [WebMethod] public DictionaryEntry[] SearchSyncItems(String para) { Hashtable sl = new Hashtable(); ItemSync[] itemsyncs = GetItemSync(para);//自定义类型 foreach (ItemSync isync in itemsyncs) { Item item = GetItem(isync.id);//自定义类型 sl.Add(isync, item); } DictionaryEntry[] array = new DictionaryEntry[sl.Count]; sl.CopyTo(array, 0); return array; }

    2009年8月27日 17:21
  • 出现什么错误?
    Please remember to mark the replies as answers if they help and unmark them if they provide no help
    2009年9月1日 7:02
    版主
  • 出现什么错误?
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

    返回的DictionaryEntry[] 这个里面的类型不是我要的类型,全部是object,不能强制转换成我想要的,但是同样代码下,桌面程序去可以正常获取数据
    2009年9月3日 10:47