也許應該要感謝DotNet平台提供了Reflection機制,讓程式結構可以做到簡化,但要能發揮他的功效,需要抽象概念轉換,吃了不少苦頭。
=====SetupPropertyValue=====
56-143:就是分別對這個欄位進行資料轉換作業。因為欄位的性質不同,處理的方式也就要不同。
58-60:先把來源資料與欄位關係確立好。
63:順便把可能是Primitie Element那塊的json資料Key準備好。
64-103:如果這個欄位定義為[0..*]時;在類別宣告上,當為多時都用List<T>。
66:得先知道這個多的欄位他的資訊型態是什麼?
68-84:如果是Choice Type,那就走Choice Type流程。
85-102:如果是Complex或Primitive的話,就走這邊。奇怪,這邊怎們不分開處理?因為是多,逐一執行時,還是會回到單一一筆的流程,那邊就會分了。
106-141:如果欄位宣告是[0..1]時。就依據資料型態個別處理吧。
=====SetupJsonObject=====
就根據欄位產生JsonObject,其中SetupPropertyValue函數也是用到Reflection,這邊就不贅述了。
沒有留言:
張貼留言