開源且功能強大的C# 擴展方法類庫Pure.Ext (支持.Net Framework和.Net Core) ...
先上地址
Github: https://github.com/purestackorg/pure.ext
Gitee: https://gitee.com/purestack/pure.ext
擴展方法是什麼?
擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。 擴展方法使你能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。
最常見的擴展方法是 LINQ 標準查詢運算符,它將查詢功能添加到現有的 System.Collections.IEnumerable 和 System.Collections.Generic.IEnumerable<T> 類型。 若要使用標準查詢運算符,請先使用 using System.Linq 指令將它們置於範圍中。 然後,任何實現了 IEnumerable<T> 的類型看起來都具有 GroupBy、OrderBy、Average 等實例方法。 在 IEnumerable<T> 類型的實例(如 List<T> 或 Array)後鍵入“dot”時,可以在 IntelliSense 語句完成中看到這些附加方法。
擴展方法的本質:
1、將實例方法調用在編譯期改變為靜態類中的靜態方法調用,實際上,它確實擁有靜態方法所有具有的所有功能。
2、作用域是整個namespace可見的,並通過使用using namespace來導入其他命名空間中的擴展方法。
3、優先順序:現有實例方法優先順序最高,其次為最近的namespace下的靜態類的靜態方法,最後為較遠的namespace下的靜態類的靜態方法。
4、是一種編譯技術,註意與反射等運行時技術進行區別,並慎重使用。
擴展方法的定義規則:
(1)擴展方法必須在一個非嵌套、非泛型的靜態類中定義;
(2)它至少要有一個參數;
(3)第一個參數必須加上this關鍵字作為首碼(第一個參數類型也稱為擴展類型,即指方法對這個類型進行擴展);
(4)第一個參數不能使用任何其他的修飾符(如不能使用ref、out等修飾符);
(5)第一個參數的類型不能是指針類型。
Pure.Ext 介紹:
Pure.Ext 是通過多年收集和整理,自行打包而成的 C#拓展方法集合。已經用於單位的多個項目中,能夠大大提高開發的效率,為廣大同行提供一些輪子,也為.net core奉獻自己的一份力量!
直接引用編譯後的dll就能使用,無需加入using 命名空間。
支持 .Net Framework 和 .Net Core ,且包含1000+個拓展方法 。
工程項目圖如下:
一起為.net core造輪子!