~~~
?? /// <summary>
?? /// 擴展實體管理類
?? /// </summary>
?? public static class EntityMgmtExtension
?? {
?????? public static IEnumerable<T> Select<T>(this EntityMgmt<T> mgt, Selector<T> Selector)
?????? {
?????????? return mgt.GetEntities(Selector);
?????? }
?? }
~~~
一個簡單的擴展方法,實際上NetFramework中的Where,Select,OrderBy,Join都是利用這種方式實現的,而Linq技術的本質也是這樣實現的,只不過它采用了
類似于sql的語法。這個方式只能由編譯器才能完成。
這篇的目的其實是為了說明,很多技術看起來很酷,但實際上并沒有什么很特別的東西,學習要盡量了解其本質,而不要為了它的一些語法糖而迷失自己。
很多技術,很多概念其實就是別人給我們的一些羊皮,但我們樂此不疲的陷入這種扯羊皮的而不知追求更本質的東西時,看起來很傻的人卻在得意的看著我們。
微軟就是這樣的,它的很多東西,都有這樣的影子。比如微軟的補丁,有的確實是需要補,但有些補丁卻是為了讓我們樂于補而補。
這個世界不僅僅有技術,還有利用技術做武器的商術,政術.....