• 关于Silverlight IsolatedStorage 不能Serialze Parameter[]


    手上项目需要保存 DomianDataSource的QueryName和Parameters, 当客户按F5后,读出这两个参数,加载数据。

    解决办法:

              是应用IsolatedStorage将这两个参数保存到客户本地。

    问题:使用下面代码

               IsolatedStorageSettings.ApplicationSettings["parameters"] =parameters;

    根本就无法把parameters保存到本地。

    解决办法:IsolatedStorageSettings 可以保存DictionaryEntry[]。简单添加两个扩展方法,转化一下就ok.

     public static DictionaryEntry[] ToDictionaryEntry(this Parameter[] parameters)
            {
                if (parameters == null || parameters.Length == 0)
                    return null;
                DictionaryEntry[] result = new DictionaryEntry[parameters.Length];
                for (int i = 0; i < parameters.Length; i++)
                {
                    DictionaryEntry de = new DictionaryEntry(parameters[i].ParameterName, parameters[i].Value);
                    result[i] = de;
                }
                return result;
            }

            public static Parameter[] ToParameters(this DictionaryEntry[] des)
            {
                if (des == null || des.Length == 0)
                    return null;
                Parameter[] result = new Parameter[des.Length];
                for (int i = 0; i < des.Length; i++)
                {
                    Parameter p = new Parameter { ParameterName = des[i].Key.ToString(), Value = des[i].Value };
                    result[i] = p;
                }
                return result;
            }

  • 相关阅读:
    谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写
    H5活动产品设计指南基础版
    提高你的Java代码质量吧:使用valueof前必须进行校验
    最新VMware Workstation 10注册码,绝对可用!
    ORACLE 使用RMAN管理归档日志 archived log
    hdu 2072 单词数
    【早盘必读】9.13证券市场要闻(附股)
    Java程序性能优化
    CSS3媒体查询(Media Queries)
    [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
  • 原文地址:https://www.cnblogs.com/mjgb/p/1892082.html
Copyright © 2020-2023  润新知