明永成

导航

 

2013年6月7日

摘要: http://social.msdn.microsoft.com/Forums/en-US/sqlnetfx/thread/fbcb255f-bcb7-45d8-9991-270a329b3d51/using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Data.Schema.ScriptDom;using Microsoft.Data.Schema.ScriptDom.Sql;using System.IO;namespace ConsoleApplic 阅读全文
posted @ 2013-06-07 13:11 明永成 阅读(460) 评论(0) 推荐(0) 编辑
 
摘要: ERP 高级查询(Advanced Query)设计与实现 SQL语句解析成LLBL Gen ORM代码对于开始接触基于ORM技术开发的ERP程序,在相当长的时间内还是会考虑SQL语句,而不是ORM查询。即便是在很熟悉ORM查询,也不如对SQL语句的了解程度。于是想做出一个查询工具,把SQL语句转化为C#代码,用于查询。这样的程序片段在很多地方都需用用到。比如SQL语句SELECT RECNUM ,CCY ,DESCRIPTION ,SUSPENDED ,DEFAULT_RATE FROM [Currency] 查询当前的货币及其名称,默认汇率。打开高级查询功能,把这几个字段拖动到SQL语.. 阅读全文
posted @ 2013-06-07 10:39 明永成 阅读(354) 评论(0) 推荐(0) 编辑
 
摘要: 不使用反射进行C#属性的运行时动态访问摘要问题的抽象没有优化的反射使用晚绑定优化的反射公平的竞赛公平的实现方式换个思路,最直白的实现方式运行时生成代码性能比拼摘要单纯的反射带来灵活性的同时,也大大降低了应用程序的效率。本文将利用C#的各种技术,就如何实现动态的方法调用或属性访问做一些初步的研究。希望可以给同样需要提高反射性能的朋友一些帮助。问题的抽象反射可以用在很多的情景中,但是抽象来看就是用来访问编译时无法确定的成员。这成员可以是方法,也可以是属性。为了简化问题,我们把问题限定在属性的访问上。那么反射这个功能就可以抽象成下面这个接口。/// <summary>/// Abstra 阅读全文
posted @ 2013-06-07 10:07 明永成 阅读(482) 评论(0) 推荐(0) 编辑
 
摘要: 得到当前正在运行的方法或属性名[C#]2012-04-18 22:50:08|分类:C#|字号订阅 C/C++在编译时有个__FUNCTION__宏可以获取当前的方法名,而C#中并没有这样的预处理宏,无法在编译时获得函数名信息。但C#中却可以通过反射来在运行时拿到这些信息。MethodBase.GetCurrentMethod().Name就是一个很好的渠道; 而通过指定可忽略的栈深度newStackFrame(0).GetMethod().Name提供了更大的灵活性。 以上方法在可以方便得到普通函数的名称,但将其用于属性(Property)时,会得到get_Property或set_Pr.. 阅读全文
posted @ 2013-06-07 10:05 明永成 阅读(452) 评论(0) 推荐(0) 编辑
 
摘要: 浅析StackTrace 我们在学习函数调用时,都知道每个函数都拥有自己的栈空间。一个函数被调用时,就创建一个新的栈空间。那么通过函数的嵌套调用最后就形成了一个函数调用堆栈。在c#中,使用StackTrace记录这个堆栈。你可以在程序运行过程中使用StackTrace得到当前堆栈的信息。classProgram{staticvoidMain(string[]args){Programa=newProgram();a.FuncA();Console.ReadLine();}intFuncA(){FuncB();return0;}privatevoidFuncB(){MethodInfometho 阅读全文
posted @ 2013-06-07 10:04 明永成 阅读(524) 评论(0) 推荐(0) 编辑