随笔分类 -  C#

摘要:对于不了解IronPhython的同学可以参考IronPython 与C#交互一、基础知识我们先从一个简单场景开始不同公司的年假会有不同的策略,国家的规定好像是工作一年以上年假为5天,而有些公司还有些扩展的年假,比如每在公司多待一年年假增加1天,经理级别第一年就有年假等。如果我们使用简单的配置方式可能无法满足更复杂的策略,如果使用C#的动态编译(.net项目的二次开发解决方案)又有点复杂而且交互时... 阅读全文
posted @ 2010-05-26 12:46 你听海是不是在笑 阅读(2275) 评论(2) 推荐(2) 编辑
摘要:一、基础扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。扩展方法是可以通过使用实例方法语法调用的静态方法。效果上,使得附加的方法扩展已存在类型和构造类型成为可能。他可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法。扩展方法有助... 阅读全文
posted @ 2010-05-24 18:23 你听海是不是在笑 阅读(2348) 评论(4) 推荐(3) 编辑
摘要:简单的判断对任何人来说都不难理解,而且加入条件判断非常容易,这往往导致大家无节制的使用深层次的条件判断,但如果层次过多,嵌套过多代码会非常不容易理解,这里结合项目中的几段代码来说说如何去除不必要的条件嵌套。1、尽量去除else修改前:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH... 阅读全文
posted @ 2010-05-04 18:14 你听海是不是在笑 阅读(1944) 评论(6) 推荐(4) 编辑
摘要:团队中对面向对象的理论研究已经做了很长时间,大家对接口,封装,继承,多态以及设计模式什么的似乎都能说出点东西来,但当看代码时发现大家其实并不十分清楚具体怎么做,所以我就想了个题目让大家来做,然后进行了一次头脑风暴,过程记录如下:题目内容:需要处理三种产品图书,数码,消费,需要计算产品的税率,图书的税率为价格的0.1,数码和消费类产品为价格的0.11,需要获得三种产品的信息,图书和消费类产品的信息为... 阅读全文
posted @ 2010-04-09 18:05 你听海是不是在笑 阅读(4614) 评论(17) 推荐(7) 编辑
摘要:最近整理了一下公司规范,其中“函数的参数个数不宜超过4个”这一条在推广的时候有些争议,在能完成任务的情况下参数越少肯定越好,这本身没什么可争议的,但这样做可能会在编程时带来困难,争议点在是否值得这样做。我觉得为了让使用函数者更简单这样做还是值得,至于编程时的困难往往是因为我们不熟悉一些减少参数的方法,这里总结几条供大家参考:1、使用结构来封装参数例子:添加用户原函数体:Ad... 阅读全文
posted @ 2010-02-01 17:10 你听海是不是在笑 阅读(3277) 评论(7) 推荐(0) 编辑
摘要:我们常常希望某个方法允许测试项目访问,但对其他项目隐藏,那这个属性就很有用了。[assembly: InternalsVisibleTo("ConsoleApplication1")] 阅读全文
posted @ 2010-01-26 15:37 你听海是不是在笑 阅读(301) 评论(0) 推荐(0) 编辑
摘要:我们在编写代码的时候有些琐碎的内容需要经常录入,为了简化录入我们常常使用到宏,但我发现很多人并不知道如何使用宏,这里我们做个简单介绍。我们先举个简单的例子,我们的编程规范中要求每个文件都要输入如下注释:[代码]需要每次创建新文件都要录入,可能有人会说拷贝粘帖过来也没什么,但是毕竟每次都需要去拷贝一下吧,而且可能我们希望粘帖过来后光标在第三行,这样比较方便录入,这种情况我们使用宏就是很棒的方式。宏录... 阅读全文
posted @ 2010-01-22 11:43 你听海是不是在笑 阅读(3246) 评论(16) 推荐(5) 编辑
摘要:我们在做单元测试的时候,常常困扰于数据的持久化问题,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的时候不真正的将数据持久化。这种隔离我们一般使用抽象的方式,也就是利用接口或抽象类将持久化层隔离开,然后利用mock来模拟相应的接口或抽象类来完成相应的持久化类。MoQ就是这种Mock框架之一,MoQ使... 阅读全文
posted @ 2009-11-25 18:12 你听海是不是在笑 阅读(14711) 评论(4) 推荐(5) 编辑
摘要:[代码] 阅读全文
posted @ 2009-08-25 11:54 你听海是不是在笑 阅读(838) 评论(0) 推荐(0) 编辑
摘要:大部分人都知道用oledb来读取数据到dataset,但是读取之后怎么处理dataset就千奇百怪了。很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,System.Data.SqlClient.SqlBulkCopy 对于新手来说还是比较陌生的,这个就是传说中效率极高的bcp,6万多数据从excel导入到sql只需要4.5秒。 Code highlighting produced b... 阅读全文
posted @ 2009-04-04 23:07 你听海是不是在笑 阅读(933) 评论(0) 推荐(0) 编辑
摘要:起因:自定义一个GridView控件,其数据源来源于一个通用方法Get(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每个使用这个GridView控件时绑定数据。如果你没看懂这个起因也没关系,我们用一段代码来描述一下问题: 我希望使用的是从外边传过来的类型tt来调用test1范型方法 Code highlighting produce... 阅读全文
posted @ 2009-02-24 16:27 你听海是不是在笑 阅读(828) 评论(0) 推荐(0) 编辑
摘要:公司原来项目的二次开发方式主要使用SQL,基本上也能满足客户的要求,优点是使用简单,只要熟悉SQL语句就可以操作,缺点是受限制太多,需要对数据库底层相当的了解,使用时容易出错,无法直接调用业务层代码等,研究了一下.net的动态编译,感觉用它来做二次开发效果应该不错的。 首先我们先做个demo来解释一下动态编译,下面这段代码的意思就是先组织一个源码字符串,然后编译执行。 动态编译简单代码 Cod... 阅读全文
posted @ 2008-11-14 11:18 你听海是不是在笑 阅读(5187) 评论(14) 推荐(1) 编辑
摘要:微软的那个臭屁的JOEL(就是写《JOEL说软件》的那个牛人)曾说:“每一位软件开发人员必须、绝对要至少具备UNICODE与字符集知识(没有任何例外)”,我也常常困扰于字符集的转换等很多问题,所以这次下决心要把他搞个清楚。 阅读全文
posted @ 2008-09-12 18:16 你听海是不是在笑 阅读(5602) 评论(37) 推荐(3) 编辑
摘要:您清晰的组件化目标是否因在库间共享过多类型信息而落空?或许您需要高效的强类型化数据存储,但如果每次对象模型发展后都需要更新您的数据库架构,那会耗费很大成本,所以您更愿意在运行时推断出其类型架构吗?您需要交付能接受任意用户对象的组件,并以某种智能化的方式处理它们吗?您希望库的调方者能以编程方式向您说明它们的类型吗?如果您发现自己在苦苦维持强类型化数据结构的同时,又冀望于最大化运行时灵活性,那么您大概会愿意考虑反射,以及它如何改善您的软件。 阅读全文
posted @ 2008-09-08 23:15 你听海是不是在笑 阅读(3209) 评论(4) 推荐(1) 编辑
摘要:例子这个东西其实挺难弄得,弄个简单的,虽然能说明问题但却容易让人觉得没实用价值,弄个有实用价值却又往往牵扯很多别的技术甚至牵扯很多业务逻辑,看起来很复杂很难懂。在这里我尽量追求几个有实用价值又不复杂的例子。 阅读全文
posted @ 2008-09-08 11:36 你听海是不是在笑 阅读(4899) 评论(9) 推荐(0) 编辑
摘要:反射学习系列目录 反射学习系列1-反射入门 反射学习系列2-特性(Attribute) 反射学习系列3-反射实例应用 作者 先看一个简单的例子 [Table(Name="dbo.[User]")] public partial class User { 当C#编译器发现这个属性有一个特性Table时,首先会把字符串Attribute添加到这个名称的后面,形成一个组合名称TableA... 阅读全文
posted @ 2008-09-07 12:53 你听海是不是在笑 阅读(5492) 评论(26) 推荐(3) 编辑
摘要:反射学习系列目录 反射学习系列1-反射入门 反射学习系列2-特性(Attribute) 反射学习系列3-反射实例应用 作者 Reflection,中文翻译为反射。这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分... 阅读全文
posted @ 2008-09-04 14:37 你听海是不是在笑 阅读(3998) 评论(10) 推荐(3) 编辑
摘要:原题是这样的,请用C#编写一个可以对任意类型进行冒泡排序算法 阅读全文
posted @ 2008-08-23 23:18 你听海是不是在笑 阅读(2922) 评论(15) 推荐(0) 编辑