Fork me on GitHub

随笔分类 -  C#

摘要:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。应用背景: 企业级管理者对企业IT系统的开发有着如下的要求: 1. 为提高效率,管理流程必须自动化,即使现代 阅读全文
posted @ 2016-03-09 08:09 JackWang-CUMT 阅读(2100) 评论(5) 推荐(2) 编辑
摘要:讲述如何在Winform界面中使用FontAwesome字体库 阅读全文
posted @ 2016-01-29 08:27 JackWang-CUMT 阅读(7955) 评论(29) 推荐(21) 编辑
摘要:C#中的yield可以应用在一个可迭代的方法中,我们必须真正理解此关键词,才能将它正确的应用到实际生产中。为了说明yield会出现让我们迷惑的结果,下面先定义一个MyObject类:1 class MyObject2 {3 public int Value{get;... 阅读全文
posted @ 2016-01-13 08:09 JackWang-CUMT 阅读(1933) 评论(1) 推荐(5) 编辑
摘要:主要介绍一下C#的delegate的用法以及如何实现类似javascript的each方法,并简要说明delegate,Func, Action和 Predicate的区别 阅读全文
posted @ 2016-01-09 08:06 JackWang-CUMT 阅读(1450) 评论(5) 推荐(2) 编辑
摘要:C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,他们都可以申明动态类型的变量,但是本质上他们还是有不少区别的。var 在编译阶段已经确定类型,在初始化时候,必须提供初始化的值,而dynamic则可以不提供,它是在运行时才确定类型。 阅读全文
posted @ 2016-01-07 08:03 JackWang-CUMT 阅读(1977) 评论(5) 推荐(8) 编辑
摘要:JavaScript中一个重要的概念就是闭包,闭包在JavaScript中有大量的应用,但是你知道么?C#也可以创建Closure。下面就介绍一下如何在C#中创建神奇的闭包。 阅读全文
posted @ 2016-01-06 12:43 JackWang-CUMT 阅读(1385) 评论(1) 推荐(2) 编辑
摘要:Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中。Quartz.NET提供了巨大的灵活性但又兼具简单性。开发人员可用它快捷的创建并执行一个自动化作业。Quartz.NET有很多特征,如:数据库支持,集群,插件,... 阅读全文
posted @ 2016-01-05 15:00 JackWang-CUMT 阅读(965) 评论(0) 推荐(1) 编辑
摘要:多线程编程相对于单线程会出现一个特有的问题,就是线程安全的问题。为了保证多线程情况下,访问静态变量的安全,除了可以用锁机制的方式外,还可以采用另外一种新的方式来处理 阅读全文
posted @ 2016-01-02 14:38 JackWang-CUMT 阅读(17065) 评论(9) 推荐(10) 编辑
摘要:现在越来越觉得对.NET基本概念的理解和掌握对于提升编程水平的重要性,先从.NET的Stack(栈)和Heap(堆)说起,计算机的内存可以分为代码块内存,stack内存和heap内存。代码块内存是在加载程序时存放程序机器代码的地方。Stack一般存放函数内的局部变量。而heap存放全局变量和类对... 阅读全文
posted @ 2015-12-29 08:38 JackWang-CUMT 阅读(2592) 评论(14) 推荐(7) 编辑
摘要:JavaScript是一门动态语言,可以动态的给对象添加属性和方法,非常方便.那么有没有一种方式可以让C#也具备动态添加属性和方法的能力,像Javascript一样进行编程? 下面就介绍一个很不错的框架ClaySharp可以实现上述功能. 下面的代码就是用ClaySharp构建一个New对象后... 阅读全文
posted @ 2015-12-24 22:07 JackWang-CUMT 阅读(2751) 评论(12) 推荐(3) 编辑
摘要:利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句,适配器都帮我们在后台进行了很好的处理. 阅读全文
posted @ 2015-12-23 07:49 JackWang-CUMT 阅读(6091) 评论(2) 推荐(5) 编辑
摘要:本文是一篇尝试性的文章,主要讲述如何根据UI配置来动态生成控件, 并添加到窗体上来构建UI窗体,当用户在每个控件上完成输入操作后,程序通过遍历控件并用拼接字符串的方式动态生成Insert SQL语句,进而实现了将UI上的值,保存到数据库。 阅读全文
posted @ 2015-12-12 06:29 JackWang-CUMT 阅读(12039) 评论(4) 推荐(8) 编辑
摘要:上一篇博文探讨了如何自定义DataGridViewColumn实现一个TreeViewColumn来在DataGridView控件中显示TreeView控件,其实我们还可以继续发挥想象,自定义其他的列类型,下面介绍一个脚本编辑器列类型,我这里取名ScriptTextEditorColumn,当用户单击DataGridView的ScriptTextEditorColumn时,单元格右边会出现一个按钮,单击按钮会弹出一个脚本编辑器窗体,用户可以在窗体中进行代码维护,然后回写到单元格中。 阅读全文
posted @ 2015-12-11 06:33 JackWang-CUMT 阅读(2790) 评论(1) 推荐(4) 编辑
摘要:用C#的透明背景的窗体来实现一个App图标,可以显示后台待处理的消息数,每次消息变更不会刷新桌面,而且可以扩展让图标旋转和缩放! 阅读全文
posted @ 2015-12-10 08:21 JackWang-CUMT 阅读(3692) 评论(6) 推荐(7) 编辑
摘要:本文讲述如何扩展DataGridView的DataGridViewColumn来实现自定义的TreeViewColumn 阅读全文
posted @ 2015-12-09 21:28 JackWang-CUMT 阅读(6176) 评论(0) 推荐(5) 编辑
摘要:AOP面向切面编程(Aspect Oriented Programming),是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。Spring框架用的核心技术就是AOP,是函数式编程的一种衍生范型。利用AOP的好处就是可以对业务逻辑进行隔离,降低耦合度,提高程序的可重用性,同时提高... 阅读全文
posted @ 2015-12-07 07:08 JackWang-CUMT 阅读(13898) 评论(17) 推荐(17) 编辑
摘要:Window Form类有很多的属性/方法和事件,其中事件属于一种发布订阅模式。订阅发布模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主体对象。这个主体对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。 当一个对象的改变需要同时改变其他对象,而且无需关心具体有多少对象需要改变时,就特别适合用此种模式。本文将演示如何在窗体上自定义事件 阅读全文
posted @ 2015-12-06 08:47 JackWang-CUMT 阅读(1337) 评论(1) 推荐(5) 编辑
摘要:手机上的APP,像QQ和微信等都可以在图标上动态显示消息数(最大99),那么你有没有想过他们是如何实现的?桌面上开发的应用程序能否也实现类似的功能?本文将介绍一个简单的方法来实现类似于这样的功能 阅读全文
posted @ 2015-12-05 06:21 JackWang-CUMT 阅读(6708) 评论(3) 推荐(9) 编辑
摘要:本文探讨Quartz.NET中无状态的(stateless)和有状态的(stateful)两种Job。另外演示如何用AdoJobStore将任务保存到SQL Server数据库中 ,这样即便中间断电或者程序异常重启,中间计算的结果也不会丢失,下次重启后可以从断点后保存到数据库的结果进行恢复,继续执行任务. 阅读全文
posted @ 2015-12-04 07:45 JackWang-CUMT 阅读(5528) 评论(3) 推荐(7) 编辑
摘要:如果在Quartz.NET作业运行时我们想动态修改Job和Trigger的绑定关系,同时修改一些参数那么该怎么办呢?Quartz.NET提供了插件技术,可以通过在XML文件中对Job和Trigger的参数进行配置,然后定期去加载配置文件来实例化任务和Trigger,这样就解决了此类问题.1Plu... 阅读全文
posted @ 2015-12-03 21:27 JackWang-CUMT 阅读(3619) 评论(2) 推荐(3) 编辑