使用場景:數據庫
須要從數據中心得到用戶數據,並以此爲標準,同步系統的用戶信息,對系統中多餘的用戶進行刪除操做,缺失的用戶進行添加操做,對信息更新了的用戶進行編輯操做更新。網絡
因此須要經過對數據中心以及系統現有用戶信息進行比較,分爲三部分:函數
(1) Linq取差集,找出須要刪除的用戶數據,進行刪除(USERNAME爲惟一值字段)。3d
使用的是Except這個方法。blog
(2)使用Linq提供的Intersect方法,取得兩個用戶集合的交集,遍歷檢查進行更新。同步
(3)一樣再次取差集,但此次是新的用戶信息集合Except現有用戶信息,獲取須要添加的數據集合,執行添加操做。it
通常的網絡請求方法都會返回鏈接的狀態信息,好比iOS中NSURLConnection對應「- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response 」(固然如今推薦使用NSURLSession或AFNetworking等第三方庫)io
C#確定也提供了相似的方法,即GetResponseAsync,得到請求的HTTP代碼進行進行判斷。遍歷
須要注意的是,在這以前還應該對URL地址輸入框進行一個輸入驗證,由於可能輸入的就不是一個URL地址。構造函數
對於ArcGIS的動態服務ArcGISDynamicMapServiceLayer以及切片服務ArcGISTiledMapServiceLayer,也能夠經過InitializationFailed這個方法作一個簡單的服務有效性驗證。
使用場景:
須要作建立角色以及編輯角色兩種操做,操做窗口顯示的信息徹底同樣,差別在於編輯角色信息時不能修改角色名稱,以及數據庫交互略有差別。
因此徹底能夠只畫一個窗口,針對不一樣場景作不一樣操做。經過重載構造函數(編輯操做對應的構造函數須要傳入角色信息),並設定一個字段標識方便差別化處理便可。
對於窗口中顯示是否可以編輯,對輸入框的IsReadOnly屬性進行綁定,編輯操做時屬性值爲true,只讀;
對於窗口名稱,一樣作綁定處理,根據不一樣操做顯示不一樣名稱;
對於數據庫交互差別,一樣能夠經過判斷標識符canEdit對差別化部分分類處理。