- 观点一:(单例)单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集成实例成员);其次,单例可以被延迟初始化,静态类一般在第一次加载是初始化;再次,单例类可...
- 1.CLR分配资源:首先计算类型所有字段需要的字节总数,然后加上2个辅助字段(对象指针和同步块索引),之后CLR检查托管堆中的保留区域空间是否充足,如果不够,需要提交物理内存,否则创建一个对象,返回其...
- 1.在平常的开发中我们应该封装一些异常类,用于在特定场合会出现的问题的时候抛出我们自己定义的异常类。2.
- 1.参数传递用ref传递值类型的时候,是传递该值的指针地址,所以对该值在方法中的操作会影响该值。如果ref传递的是引用类型的参数的时候,那么方法将改变引用类型指向的对象。下面的例子是从网站上拷贝下来的...
- 1.泛型的应用范围:CLR允许泛型值类型和泛型引用类型,所以对于类,接口,委托,值类型都可以用于泛型。对于枚举类型不可用。2.
- 1.通过委托可以用外部定义的方法访问类内部的私有方法。2.委托具有协变和反协变说法(只能在引用类型中谈此)。 delegate object MyCallBack(FileStream s); str...
- 1.NET通过反射技术自动地实现了对象的序列化与反序列化。NET能够捕获对象的每个字段的值,并将它序列化到内存、文件或网络连接中。至于反序列化,.NET使用反射创建一个对应类型的新对象,读取它的持久化...
- WCF编程之读书笔记一1.WCF的大部分功能都放在using System.ServiceModel中。2.软件设计思想发展:函数--》对象--》组件--》服务3.WCF传输的是SOAP消息,与WEB...
- 1.实现操作重载:基于WSDL的操作不支持操作重载(在消息中操作是根据名称来区别的),但是我们可以用OperationContract特性的Name属性,为操作指定别名,我们需要同时为服务与客户端的操...
- 应用程序域 (application domain) (AppDomain) 一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象激活的序列的任何位置)...
- 妹妹, 拖了很久,一直迟迟没有下笔写这封信,原因有三:1,在我上学期间,我苦于照顾自己的学业,因此没有大片空闲的时间来给你提比较有建设性的意见;2,在放假以后(5月11号),由于我换了寝室,搬东西,所...
- 感觉这位台湾朋友讲的还不错,贴出来大家分享分享转载:http://www.dotblogs.com.tw/hunterpo/archive/2010/03/03/13862.aspx這一篇從農曆年前打...
- 1. 视图是一个逻辑实体,所以不存在排序,除非你用了top,如果我们要对查询的数据进行排序我们可以把排序操作放在外部查询的时候。2. 视图只是存储一个逻辑在数据库中,除非是索引视图,索引视图就是把实实...
- PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完...
- 一.关于动态SQL注意的一些事项: 1.exec 是一个能执行动态SQL的函数,但是不提供接口。并且还能执行存储过程。 exec as2.sp_executesql优于exec,因为它支持输入输出参数...
- 1.定义视图的好处是可以直接对用户赋予视图的权限,通过视图查数据,这样就可以不用对用户赋予表的权限,实现表的安全。并且一张表可以建立多个不同的视图,也就是对于不同的操作员可以在一张表上定义对个不同的视...
- 1.许多.net类库中的类都提供了两种不同的处理事件句柄的方法。既可以为其添加事件,也可以重写其基类的事件抽象方法。为什么要为同一件事提供两种不同的方法呢?这是为了对应不同的情况。在实现派生类的时候,...
- ICloneable 听起来是个好主意:可以为那些支持复制的类型实现ICloneable接口。如果不想支持复制,那就不要实现它。但是我们的类型并非活在真空中。让一个类型支持ICloneable接口会影...
- 转自:http://hi.baidu.com/gghost/blog/item/63cc79dd17c24d325882dd1a.html用List
的泛型方法作为试验对象首先看看LIst .... - 1.NET序列化会将对象中的所有成员变量保存到一个输出流中。但要记住,只有当对象中的所有类型都支持序列化时,这里谈的机制才会正常工作。2.不打算序列化对象中的所有成员。在数据成员上添加 [NonSer...
- 1.通过使用特性(attribute),我们也可以在C#中实现声明式编程。我们可以将特性应用在类、属性、数据成员或者方法上,.NET运行时则会为我们添加适当的行为。声明式编程更易于实现、阅读和维护。让...
- 1.派生类不能重写基类中实现的接口成员。2.我们也可以用一种让派生类可以重写实现的方式来实现接口。interface IMsg{void Message();}public class MyClass...
- 转载:http://blog.csdn.net/knight94/archive/2006/08/05/1023352.aspx便于对文章的开展,需要先明确两个概念。第一个就是很多人用.Net写程序,...
- 让我们来仔细看看GC。如果我们需要负责"清除垃圾",那么我们需要拟定一个高效的方案。很显然,我们需要决定哪些东西是垃圾而哪些不是。 为了决定哪些是需要保留的,我们首先假设所有的东西都不是垃圾(墙角里堆...
- 转载:http://agassi001.cnblogs.com/archive/2006/05/10/396574.html在.NET framework环境下,当我们的代码执行时,内存中有两个地方用...
- 1.值类型是数据的容器,它们不具备多态性。另一方面就是说,.Net框架被设计成单一继承的引用类型,System.Object,在整个继承关系中作为根对象存在。设计这两种类型的目的是截然不同的,.Net...
- 1.我们常使用IDisposable接口的Dispose()方法来精确的释放非托管系统资源。在日常代码中我们确保调用Dispose()的方法是用using和try/catch/finally语句。2....
- 1.初始化器(在声明字段的时候就直接初始化,而不是在构造函数中处理) 初始化生成的代码会放置在类型的构造函数之前。初始化会在执行类型的基类的构造函数之前被执行,并且它们是按你声明的先后关系顺序执行的。...
- 1.垃圾收集器(GC)控制着托管内存。但是我们需要对非托管代码进行处理(数据库连接,文件句柄,GDI+对象,COM对象等)2.垃圾收集器是运行在一个单独的线程中来移除程序中不再使用的内存。并且还会压缩...
- 1.我们创建的每一个类型都应该重写Object类的ToString()方法。如果创建的是更复杂的类型,则应该实现Iformattable.ToString()方法。2.值类型不支持多态,比较适合存储供...










