C#
文章平均质量分 78
Blithe
这个作者很懒,什么都没留下…
展开
-
C#笔记 利用XML文件构建反射表机制
C#笔记 利用XML文件构建反射表机制 在设计程序时,无论是界面或是后台代码,我们通常都想留给用户一个较为简单的接口。而我在参与封装语音卡开发函数包的时候,发现各种语音卡的底层函数的接口都是各种整形变量标记值,使用起来极为不变。于是就理解了前辈所写的代码中,利用XML构建反射表机制的初衷。下面我就以某一种语音卡所能兼容的语音格式为例,将反射表机制的原理做个示范。 语音卡的底层开发函数中,放音和录音函数的参数都是很多而且不易理解和记忆的。以语音格式为例,假如a率的标记值是6,u率的标记值是转载 2011-03-10 13:16:00 · 1137 阅读 · 0 评论 -
c#实现依赖注入
1. 问题的提出 开发中,尤其是大型项目的开发中,为了降低模块间、类间的耦合关系,比较提倡基于接口开发,但在实现中也必须面临最终是“谁”提供实体类的问题。Martin Fowler在《Inversion of Control Containers and the Dependency Injection pattern》中也提到了标准的三种实现方式——Constructor Injection、Setter Injection和Interface Injection,很全面的阐释了这个问题。 对于C#而言,转载 2011-03-10 13:22:00 · 19085 阅读 · 1 评论 -
优化后《简单工厂模式》构造的计算器代码—C#“反射”技术
<br /><br />修改后的计算器代码,这里有个这样问题:如果需要增加新的运算类,除了要修改界面的代码,还要在OperaationFactory的switch中增加新的语句!运用C#反射技术,可以很好的解决问题,以下代码不是运用dll,举个例子<br />-----------------------------------<br />Operation.cs<br />-----------------------------------<br />using System;<br />using S原创 2011-03-25 19:39:00 · 1197 阅读 · 0 评论 -
优化后《简单工厂模式》构造的计算器代码—C#“反射”技术(dll)
<br />《大话设计模式》中的第一章是一个用简单工厂模式构建的简易计算器的例子,在书中的P10-P11页中有个工厂类OperaationFactory用来构造各个运算类的实例,但这里有个问题:如果需要增加新的运算类,除了要修改界面的代码,还要在OperaationFactory的switch中增加新的语句!以下用反射很好的解决了这个问题~~~<br /> <br />///////////以下类编译为 .dll/////////////////////////////////////////<br />-原创 2011-03-25 21:23:00 · 1197 阅读 · 2 评论 -
C#的New关键字的几种用法
<br />new会在堆内存中开辟空间并初始化,而后将其引用返回。如果不用new,比如:car c1;那么实际上c1只是栈上的一个标记而已(应该是4个字节吧),而没有完整的内容。<br /> <br />OO思想现在已经在软件开发项目中广泛应用,其中最重要的一个特性就是继承,最近偶简单的复习了下在C#中涉及到继承这个特性时,所需要用到的关键字,其中有一些关键点,特地整理出来,方便大家查阅。<br />一、在C#中,new这个关键字使用频率非常高,主要有3个功能:<br />a) 作为运算符用来创转载 2011-04-14 15:28:00 · 3903 阅读 · 1 评论 -
利用Anchor和Dock属性管理WinForm控件
有一点让许多刚接触WinForms编程的开发者感到很棘手,就是在用户调整各种控件的大小时,怎样使它们的窗体保持同步,并与父窗体相称。这可以成为一种让人非常沮丧的情况,尤其是对于有着Web编程背景,转为WinForms的开发者来说。为了缓解这个问题,.NET框架允许你对子控件设置属性,命令在调整父窗体大小时,它们应该如何运作。用来命令控件在调整大小时动作的两个属性就是“Dock”和“Anch转载 2012-02-15 21:10:08 · 669 阅读 · 0 评论