摘要:利用泛型與反映(Reflection)達到函式共用
我想在泛型與Reflection在實務上的應用,相當廣泛.
在此我也小小分享目前在實務上所遇到的問題與應用
如果有何不當或需要改善的地方,
也希望各位前輩能多多指導
就以JSON.NET中 JObject與JArray這兩個Class內所使用的Paser Function為例
在JSON Object中的格式如下:
看起來沒什麼太大不同,
但是仔細想想可以有更好的做法,
兩個fuction是可以結合共用的.
所以下面的範例就是利用泛型與反映嚕
在看看下列的使用範例
輸出畫面:
其實在輸出上是一模一樣,
但這時後應該會發現在程式碼上的差異,
透過帶入不同的型別宣告,運用泛型與Reflection
來達到讓JsonPaserRef這個Class中Rtval function的共用
最後奉上範例程式碼
參考連結
[C#] 泛型的意義 (Generics)
泛型的優點 (C# 程式設計手冊)
反映 (C# 和 Visual Basic)