总结net规范~~哈哈~~困了

第一

1,尽可能用重载
2-强类型+属性
3接口前+I
public interface Ic{}


4。泛型名称前+T
public interface Is<TSession>()
public delegate Tputput Converer(Tinput,Toutpu)(Tinpu From)
 
5避免深层的 namespace

6。设计时的类用与 Design命名空间
7.许可类放在Permissions子命名空间
8.旧组建Interop子命名空间

---------------------------引用和数值

引用分配在堆上--垃圾回收器管,而值类型在栈上分配,并在栈展开时释放,释放引用类型比释放值类型浪费空间
拆箱--装箱
在赋值的时候 ---引用类型要比值类型开销小~~因为它是引用
out 可以将值作为引用传递

10接口和类

接口的缺点是一旦你定义好了以后不应该轻易改动里面的成员,因为改的化会破坏已经实现接口的程序

1:基于类
public abstrack class s
{
 public virtual bool cc{}

}

public class t:s
{

 public override bool cc{}
}
2:机遇接口
public interface iP{}

public interface ic:ip{}
注意继承ic的类必须实现ip的成员+ic的成员

3:也可以用通过ip里面添加一个方法返回ic的接口

4例子
public abstract class CollectionContrat<t>:Ilist<t>{}

------结论优先采用类不采用接口,如果有特殊需要,先定义接口在定义抽象类,用接口和对象交流
--用抽象类解决协定之间的耦合
------------------------------------

11抽象类中如果有一个函数的4个重载,最好的做法是为这些方法提供4个非虚的实现,然后让他们调用一个受保护的抽象方法这样,通过这样做只要编写一次烦人的参数检查就可以了


12:值得类型不能继承自其他类但是可以实现 ICommparable ,Iformattable 以及 IConvertible接口
public struct Int32:ICommparable ,Iformattable, IConvertible
13*注意一个接口只作一件事

14一个类派生自一个基类时 ,基类 IS-A派生类,一个类继承接口的时候 ,类 CAN-DO 接口关系
15-抽象类应该有受保护的构造如,这样做避免误导使用者,并且使基类在可以初始化自己

public abstract class ec
{
 protected Claim(){}
}

第二

1.不要为结构提供默认构造函数
2.要确保实struct中的数据为0,false,null
3.为值类型要实现IEquatable<T>,因为object.equals要查箱,装箱,
4 优先使用枚举~~而不是用静态变量
5,不要把枚举用于开发的集合
7- 不要包含重复的数据
8--在使用枚举的时候应该那传入的枚举和真实的枚举对比--不应该对比值

public void p(Enumb t)
{
 if(t==Enumb.sss)
{

}
}

9----要给简单的枚举提供0数据

10--加旗标记
[Flags]
public enum aa(0
{

}

posted @ 2007-05-07 00:53  苹果王子  阅读(546)  评论(0编辑  收藏  举报