随笔分类 - CSharp Technical
CSharp Technical
摘要:自定义特性允许任何人扩展元数据格式,如果在现有元数据格式中,一个字段或者方法的某个方面无法获取,那么就可以用自定义特性来表示那个方面。可以通过反射或者元数据接口来读取自定义特性。自定义特性作为BLOB(二进制大对象块)存储在CLR元数据中。自定义特性的存在与否不影响CLR对类型的处理。相反,自定义特性处于一种休眠状态,等待程序用反射或者元数据接口读取它们。用枚举控制文件的读写很方便,但是需要在枚举前面加上FlagsAttribute进行修饰。下面可以看个实例,说明下有无FlagsAttribute修饰对结果的影响。[Flags]publicenumFruit{peach = 0x01,bana
阅读全文
摘要:反射提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。下面我就以一个事例来说明反射在项目中的使用方法。大体分为三个步骤:第一步,在web.config配置如下代码(目的是为了动态的去修改所需分析的dll)[c-sharp]view plaincopy<appSettings><addkey="BizAssembly"value="PSMS.Biz"/></appSett
阅读全文
摘要:一、为什么要学习UML二、UML的历史三、UML的特点四、UML中的视图五、UML建模工具六、UML的应用领域七、UML的构成1、需求阶段如何书写Use Case2、设计阶段如何画用例图(Use-Case Diagram)3、类与类之间的关系图(Class Diagram,UML图)4、UML建模之活动图介绍(Activity Diagram)5、UML建模之状态图(Statechart Diagram)6、UML建模之时序图(Sequence Diagram)7、UML建模之业务处理模型(Business Process Model,BPM)8、UML建模之数据建模(Data Model D
阅读全文
摘要:在说LINQ之前必须先说说几个重要的C#语言特性一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型 隐式类型的出现, 程序员就不用再做这个工作了。 (2)使用方法 来看下面的代码: var a = 1; //int a = 1; var b = "123";//string b = "123"; var...
阅读全文
摘要:After looking in vain for an easy example to understand the basics of remoting, I decided to write one myself. I found one or two useful articles, but they had syntax errors and left a lot for the reader to fill in. My example needs no tweaking and can be used as is. For simplicity, I use only one m
阅读全文
摘要:IntroductionNET Framework 2.0 came with the concept ofPredicateDelegates, but compared to the other features of .NET, it never got the attention it deserved. It is really a powerful concept which makes it easy to write searching algorithms on collections. These are also widely used while performing
阅读全文
摘要:Clickhereto contact me if you require any freelance development«Equals why ? and why not ==Mono – web development on Linux»Events – fire that eventAn event will be fired when something has happened and then you can link to that event and do something else if you wanted to. To start of with
阅读全文
摘要:目录预备知识2LINQ技术2LINQ技术的基础 - C#3.02自动属性2隐式类型2对象初始化器与集合初始化器3匿名类3扩展方法4Lambda表达式4.NET中的数据访问4DataSet方案5改进的的DataSet方案5手写代码通过ADO.NET2.0连接类与数据库交互5ORM – LINQ to SQL6深入了解Entity Framework7Entity Framework的核心 – EDM(Entity Data Model)7EDM概述7EDM之CSDL7EDM之SSDL11EDM之MSL12EDM中存储过程的设计15EDM中ComplexType的设计16实体数据模型映射方案17E
阅读全文
摘要:http://huyrua.wordpress.com/2010/07/13/entity-framework-4-poco-repository-and-specification-pattern/(good article)http://stackoverflow.com/questions/4295975/repository-pattern-in-entity-framework-4-when-should-we-disposehttp://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-un
阅读全文
摘要:原文叫看《墨攻》理解IOC概念2006年多部贺岁大片以让人应接不暇的频率纷至沓来,其中张之亮的《墨攻》算是比较出彩的一部,讲述了战国时期墨家人革离帮助梁国反抗赵国侵略的个人英雄主义故事,恢宏壮阔,浑雄凝重的历史场面相当震撼。其中有一个场景:当刘德华所饰的墨者革离到达梁国都城下,城上梁国守军问:“来者何人?”,刘德华回答:“墨者革离!”,我们不妨用C#(原文是java,我修改)对这段“城门问对”的场景进行编剧并借由这个例子来理解IoC的内涵。剧本和饰演者耦合MoAttack代表《墨攻》的剧本,cityGetAsk()代表“城门问对”这段剧情,LiuDeHua是具体饰演者刘德华:代码清单1publ
阅读全文
摘要:IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection)。作用:将各层的对象以松耦合的方式组织在一起,解耦,各层对象的调用完全面向接口。当系统重构的时候,代码的改写量将大大减少。理解依赖注入: 当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通常有调用者来创建被调用者的实例。然而采用依赖注入的方式,创建被调用者的工作不再由调用者来完成,因此叫控制反转,创建被调用者的实例的工作由IOC容器来完成,然后注入调用者,因此也称为依赖注入。举个有意思的例子(来源于互联网)假如我们要设计一个Girl.
阅读全文
摘要:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html这篇文章真的非常非常好···绝对值得收藏学习。目录目录1 IGame游戏公司的故事1.1 讨论会1.2 实习生小李的实现方法1.3 架构师的建议1.4 小李的小结2 探究依赖注入2.1 故事的启迪2.2 正式定义依赖注入3 依赖注入那些事儿3.1 依赖注入的类别3.1.1 Setter注入3.1.2 Construtor注入3.1.3 依赖获取3.2 反射与依赖注入3.3 多态的活性与依赖注入3.3.1 多态性的活性3.3.2 不同活性多态性
阅读全文
摘要:TheRepository Patternis a common construct to avoid duplication of data access logic throughout our application. This includes direct access to a database, ORM, WCF dataservices, xml files and so on. The sole purpose of the repository is to hide the nitty gritty details of accessing the data. We can
阅读全文
摘要:ExamplesThe following code example demonstrates the implementation of theIEnumerableinterfaces for a custom collection. In this example,GetEnumeratoris not explicitly called, but it is implemented to support the use offoreach(For Eachin Visual Basic). This code example is part of a larger example fo
阅读全文
摘要:IntroductionA popular pattern for ORM data access is the Repository pattern. Repositories are currently very popular even in EF for the reasons below:Hide EF from upper layerMake code better testableThe big disadvantage of EF is rigid architecture which can be hardly mocked, so if you want to unit t
阅读全文
摘要:In a previous article, we saw how toCreate an Entity Framework Model and Use it in Multiple Projects. In this article, we will see how to Add, Update and Delete objects in our conceptual model and push the changes to the underlying database.We will be using the same console application that we creat
阅读全文
摘要:IEnumerator:提供在普通集合中遍历的接口,有Current,MoveNext(),Reset(),其中Current返回的是object类型。IEnumerable: 暴露一个IEnumerator,支持在普通集合中的遍历。IEnumerator<T>:继承自IEnumerator,有Current属性,返回的是T类型。IEnumerable<T>:继承自IEnumerable,暴露一个IEnumerator<T>,支持在泛型集合中遍历。1. 要使自定义的集合类型支持foreach访问,就要实现IEnumerable接口。2. 在很多地方有讨论为什
阅读全文
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MyFirstAttribute{ class Program { static void Main(string[] args) { System.Reflection.MemberInfo info=typeof(TestClass); MyAttribute myAttribute = Attribute.GetCustom...
阅读全文
摘要:大陆的身份证为18位,老的身份证是15位。关于身份证第18是怎么计算的,原理如下:根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。地址码(身份证前六位)表示编码对象常住户口所在县(市、旗、区)的行政区划代码。(所有区域的编码可以到这个网站http://www.stats.gov.cn/tjbz/index.htm查询到最新的县及县以上的行政编码资料。)生日期码(身份证第七位到第十四位)表示编码对象出生的
阅读全文
摘要:原文引自:http://blog.csdn.net/witkeyking/archive/2010/02/27/5331896.aspx相信在调试代码时可能都深有感触,把断点设置在某一行语句,程序一旦执行到这一语句便会停止,但是并非每一次停止的监控 都是我们所关心的,尤其是对于 for 循环的调试,于是我们便不断地按F5 来“快进”我们的代码。这样做费时费力,有时候 不小心点快了又要重头来.另外在调试多线程程序时,程序控制在多个线程中跳来跳去,调试非常麻烦.其实VS的条件断点就是专门解决这个问题的,只不过很多人都没注意到。添加一个断点,可以看到关于断点的菜单1、位置很好理解,就是当前断点的位置
阅读全文

浙公网安备 33010602011771号