01编码规范(5)

2018-12-23 23:57

{} }

61. 除非你想重写子类中存在名称冲突的成员或者调用基类的构造函数否则不要使用base来访问基类的成员。 // 正确使用base的例子 public class Dog {

public Dog(string name) {}

virtual public void Bark( int howLong) {} }

public class GermanShepherd : Dog {

public GermanShe pherd(string name): base (name) {}

override public void Bark(int howLong) {

base .Bark(howLong); } }

62. 基于模板的时候要实现Dispose()和Finalize()两个方法。

63. 通常情况下避免有从System.Object转换来和由System.Object转换去的代码,而使用强制转换或者as操作符替换。 class SomeClass {} //避免:

class MyClass {

void SomeMethod(T t)

- 21 -

{

object temp = t;

SomeClass obj = (SomeClass)temp; } } // 正确:

class MyClass where T : SomeClass {

void SomeMethod(T t) {

SomeClass obj = t; } }

64. 在一般情况下不要定义有限制符的接口。接口的限制级别通常可以用强类型来替换之。 public class Customer {?} //避免:

public interface IList where T : Customer {?} //正确:

public interface ICustomerList : IList {?}

65. 不确定在接口内的具体方法的限制条件。

66. 总是选择使用C#内置(一般的generics)的数据结构

67、初始化类的实例时,除非十分必要,否则不要赋null值。

68、使用后的实例,尽量不要将该实例的引用赋值和为nul,尤其是采用public来修饰的类成员l。 1) 如果该实例是临时引用,请使用using语句,然后在程序块中使用。

2) 如果需要释放资源,应可能地使用Dispose,采用null值的方法,该引用在指向下一个实例前,不会

- 22 -

被回收。

- 23 -


01编码规范(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2010-2011通信原理期末考试试卷及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: