C#的157个建议
1. 多用 readonly:但是实际试验,对于非静态对象,readonly 只能用于字段,不能用于属性(略有遗憾)

2. 避免在类型中声明静态成员

3. 微软为事件模型设定的几个规范:
①、委托类型的名称以EventHandler结束;
②、委托原型返回值为void;
③、委托原型具有两个参数: sender表示事件触发者,e表示事件参数;
④、事件参数的名称以EventArgs结束.
public class FileUploadedEventArgs : EventArgs {
public int FileProgress { get; set; }}public class FileUploader { public event EventHandler<FileUploadedEventArgs> FileUploaded; public void Upload() { var e = new FileUploadedEventArgs() { FileProgress = 100 }; while (e.FileProgress > 0) { e.FileProgress--; if (FileUploaded != null) FileUploaded(this, e); } }}4.

那其实我目前就没有都写上out 修饰关键字。好好思考一下自己的代码。
我们知道子类转换到父类,在C#中是能够隐式转换的。这种子类到父类的转换就是协变。而另外一种类似于父类转向子类的变换,可以简单的理解为逆变。
5.

浙公网安备 33010602011771号