Silverlight项目笔记6:Linq求差集、交集&检查网络链接状态&重载构造函数复用窗口

1.使用Linq求差集、交集

     使用场景:数据库

     须要从数据中心得到用户数据,并以此为标准,同步系统的用户信息,对系统中多余的用户进行删除操做,缺失的用户进行添加操做,对信息更新了的用户进行编辑操做更新。网络

     因此须要经过对数据中心以及系统现有用户信息进行比较,分为三部分:函数

    (1) Linq取差集,找出须要删除的用户数据,进行删除(USERNAME为惟一值字段)。3d

            使用的是Except这个方法。blog

     

    (2)使用Linq提供的Intersect方法,取得两个用户集合的交集,遍历检查进行更新。同步

     

    (3)一样再次取差集,但此次是新的用户信息集合Except现有用户信息,获取须要添加的数据集合,执行添加操做。it

     

2.检查网络链接状态

    通常的网络请求方法都会返回链接的状态信息,好比iOS中NSURLConnection对应“- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response ”(固然如今推荐使用NSURLSession或AFNetworking等第三方库)io

    C#确定也提供了相似的方法,即GetResponseAsync,得到请求的HTTP代码进行进行判断。遍历

    

    须要注意的是,在这以前还应该对URL地址输入框进行一个输入验证,由于可能输入的就不是一个URL地址。构造函数

    对于ArcGIS的动态服务ArcGISDynamicMapServiceLayer以及切片服务ArcGISTiledMapServiceLayer,也能够经过InitializationFailed这个方法作一个简单的服务有效性验证。

3.重载构造函数复用窗口

   使用场景:

   须要作建立角色以及编辑角色两种操做,操做窗口显示的信息彻底同样,差别在于编辑角色信息时不能修改角色名称,以及数据库交互略有差别。

   因此彻底能够只画一个窗口,针对不一样场景作不一样操做。经过重载构造函数(编辑操做对应的构造函数须要传入角色信息),并设定一个字段标识方便差别化处理便可。

   对于窗口中显示是否可以编辑,对输入框的IsReadOnly属性进行绑定,编辑操做时属性值为true,只读;

   对于窗口名称,一样作绑定处理,根据不一样操做显示不一样名称;

   对于数据库交互差别,一样能够经过判断标识符canEdit对差别化部分分类处理。

   

   

   

相关文章
相关标签/搜索