代码改变世界

随笔分类 -  语言基础

Dynamic Linq 的Like扩展

2010-08-03 09:21 by 破狼, 4840 阅读, 收藏, 编辑
摘要: 在上几节Linq动态组合查询时,在肖坤的Linq动态查询与模糊查询(带源码示例)时看到了微软的《Linq to SQL Dynamic 动态查询》,但是楼主说“可惜Dynamic.cs也是不能使用like的,恨啊!”。于是我下载了Dynamic .cs仔细研究了下源码,一步一步的调试,本想在微软的类库里添加如like的支持,但是调试了半天,还是无从下手。但是发现了DLinq... 阅读全文

继LINQ动态组合查询PredicateExtensions讲解

2010-08-02 13:34 by 破狼, 9158 阅读, 收藏, 编辑
摘要: 在LINQ动态组合查询中我留下了一个问题就是PredicateExtensions。在这里很简单不需要什么多的基础只要比会And、Or逻辑运算数学知识就够了。先贴上代码好分析:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicstati... 阅读全文

LINQ动态组合查询

2010-08-02 09:09 by 破狼, 18406 阅读, 收藏, 编辑
摘要: 最近在项目中用到了LINQ,在界面上有许多组合查询条件,我是一个比较懒的人,呵呵,不想在数据查询层写许多方法。我自己尝试写了个Expression的LINQ动态查询,目的是到达了,但是我在代码的初始表达式为null,每次组合AND前都要判断是否为空,为空则返回右边的表达式。今天在网上Google了一下,看到肖坤:Linq动态查询与模糊查询(带源码示例)中讲到的《dynamic linq queri... 阅读全文

用一句JQuery代码实现表格的简单筛选

2010-07-26 09:15 by 破狼, 5187 阅读, 收藏, 编辑
摘要: JQuery的强大之处,这里就不用讲了。这里将用一行简单的JQuery代码实现简单的表格筛选。先贴上代码:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<%@PageLanguage="C#"AutoEventWireup="true"C... 阅读全文

F#初试--打印目录文件树

2010-07-14 17:28 by 破狼, 2328 阅读, 收藏, 编辑
摘要: 这几天正在学习F# 函数式编程语言,今天特地牛刀小试,写了一个文件目录层次结构树形的缩进打印Code,练练手。一直想找一本F#中文书籍PDF看看,网上搜了半天都没有找到,就从一个程序员的自省个F#系列了,在这里先感谢一个程序员的自省,希望能与大家多交流下F#。不说了,看Code:代码Code highlighting produced by Actipro CodeHighlighter (fre... 阅读全文

CodeSmith模板引擎系列二--文件目录树

2010-07-14 11:21 by 破狼, 1663 阅读, 收藏, 编辑
摘要: 今天网上Google了一下,关于CodeSmith的资料已经很全了,其中有TerryLee 和努力学习的小熊 两位大牛的很详尽,所以我也不准备把CodeSmith讲的很细致了,如果是新手学习者可以参考上面两位大牛的CodeSmith文章,CodeSmith的语法与ASP语法接近,语言可以选择我们的c#,所以学习起来很轻松。今天就写一个简单的文件目录树结构的递归模板。Template Code:代码... 阅读全文

CodeSmith模板引擎系列一

2010-07-13 12:12 by 破狼, 6638 阅读, 收藏, 编辑
摘要: 在前些日子写了一些关于CodeDom的代码生成技术(目录),这里先感谢大家的支持和关注。我打算写一些代码生成编译技术的系列,包括CodeDom、CodeSmith模板、T4模板、StringTemplate,以及Expression Tree的系列随笔。如果可能的话再加上Emit系列。在这些系列中希望大家多关注,特别多多指教和交流。好了废话少说,今天就开始写CodeSmith模板。 CodeSmi... 阅读全文

CodeDom系列目录

2010-07-09 12:17 by 破狼, 9904 阅读, 收藏, 编辑
摘要: CodeDOM 提供了表示许多常见的源代码元素类型的类型。您可以设计一个生成源代码模型的程序,使用 CodeDOM 元素 构成一个对象图。可以使用受支持的编程语言的 CodeDOM 代码生成器,将该对象图呈现为源代码。CodeDOM 也可以用于将 源代码编译成二进制程序集。 CodeDOM 的一些一般用途包括: 模板化代码生成:生成 ASP.NET、XML Web 服务客户端代理、代码向导、设计器或其他代码发出机制的代码。动态编译:支持以一种或多种语言进行代码编译。经过连续几节的CodeDom系列文章,到今天写的差不多,所以在这里记录下一个索引目录,以便在日后查阅。 CodeDom系列-开篇. 阅读全文

CodeDom六--实体类生成示例

2010-07-08 10:15 by 破狼, 4182 阅读, 收藏, 编辑
摘要: CodeDom这个东西个人觉得知识点不多,前几个续节写的已差不多了。在这节将演示一个CodeDom示例:数据库实体类的生成。这里先声明在如今的CodeSmith或者是T4模板中实现这些都很简单,并且更实用,在这里只是一个CodeDom示例,为了演示CodeDom。 在代码中位了简单、简化数据库数据信息的提取,引用了CodeSimth的SchemaExplorer.dll和SchemaExplore... 阅读全文

CodeDom系列五--动态编译

2010-07-06 09:07 by 破狼, 7348 阅读, 收藏, 编辑
摘要: 继上节我们把Code 表达式编译成为了Code代码,有时我们只想动态编译程序集,在内存中或者是硬盘上调用,这就是CodeDom的动态编译。微软在CodeDom中提供了动态编译程序,这是ICodeCompiler的用武之地了,它定义用于调用源代码编译的接口或使用指定编译器的 CodeDOM 树。可以从CodeDomProvider生成引用对象:CodeDomProvider.CreateProvid... 阅读全文

CodeDom系列四--Code生成

2010-07-05 09:19 by 破狼, 5620 阅读, 收藏, 编辑
摘要:       我们利用CodeDom技术生成了一些列Codedom Expression ,接下来的任务就是编译和生成,生成c#、Vb或者是.NET平台支持语言,编译程序集(dll或者是exe)。       CodeDomProvider:在2.0后提供了CodeDomProvider.Create... 阅读全文

CodeDom系列--事件(event)定义和反射调用

2010-06-22 13:22 by 破狼, 3737 阅读, 收藏, 编辑
摘要: CodeDom提供了对事件的支持,以及我们可以用反射机制对CodeDom生成的事件进行注册,以及调用。本节程序很简单,先贴上我将用CodeDom生成的代码:代码很简单哦,主要是看CodeDom的事件定义机制和反射调用CodeDom编译的类型方法事件。CodeDom代码为:本示例代码下载:CodeDomDemo3 阅读全文

CodeDom系列二---程序基本结构--符号三角形问题

2010-06-20 14:02 by 破狼, 4357 阅读, 收藏, 编辑
摘要: 昨天一个同学叫我帮编写一个符号三角形的c代码,今天就把它改写成用CodeDom生成的c#代码。 符号三角形:在一组字符串里(只有用空格分割的+或者-组成的字符串),在每次的相邻的两个符号比较,如果相同就在中间空格插入+,否则就插入-。一直运行到字符串里只有一个+或者-时停止,输出的字符串为符号三角形。由于是CodeDom些列,所以先介绍几个CodeDom表达式:1:CodeConditionSta... 阅读全文

CodeDom系列-开篇HelloWord

2010-06-19 09:07 by 破狼, 8237 阅读, 收藏, 编辑
摘要: 最近在自己实践一个异常扑捉设计,在模块中我觉得该给用户提供的是代码生成工具,而不是怎么去做,再自己去写代码。现在代码模板生成的有很多但我选择了用微软的CODEDOM技术来实现,由于比较熟悉,以及感觉我将只用在.NET平台是已经够强大了。最近也总想写点博客,但是不知道写些什么,所以就准备写个CODEDOM的系列。仅是开篇,就写个简单的HelloWord程序吧。CODEDOM在.NET Framewo... 阅读全文

分页查询算法实践

2010-03-12 18:31 by 破狼, 3870 阅读, 收藏, 编辑
摘要: 马上要毕业了,心里很迷茫,感觉真的时间飞逝,软件真的博大精深,特别.NET平台在Microsoft下变化之迅猛,个人总是赶不上技术的日新月异。哎,希望自己能早日走上设计之路。闲来无事便根据自己大学四年项目实践经验,想实现一些常用模块的抽象和集成。考虑了一下觉得先该从分页查询入手,便简单的设计了下,现目前版本实现了单表的基本分页查询。我知道博客园了已经有很多前辈做了这个,本人设计能力和前辈们比那就欠缺多了,有那里不足的望指出,大家共同进步。下载代码:WolfPager下载主要采用工厂模式创建实现了PageSqlBase的对象,然后可以利用对象的GetSql()方法返回查询Sql语句。我的目的是生 阅读全文