~~~
/// <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的语法。这个方式只能由编译器才能完成。
这篇的目的其实是为了说明,很多技术看起来很酷,但实际上并没有什么很特别的东西,学习要尽量了解其本质,而不要为了它的一些语法糖而迷失自己。
很多技术,很多概念其实就是别人给我们的一些羊皮,但我们乐此不疲的陷入这种扯羊皮的而不知追求更本质的东西时,看起来很傻的人却在得意的看着我们。
微软就是这样的,它的很多东西,都有这样的影子。比如微软的补丁,有的确实是需要补,但有些补丁却是为了让我们乐于补而补。
这个世界不仅仅有技术,还有利用技术做武器的商术,政术.....