框架设计(第2版)CLR Via C#(1)

8.8声明方法的参数类型

总结起来两点:一、参数类型应尽可能指定最弱类型,并且最好在基类上定义接口--相对于在C#中使用接口体系设计系统结构;

 

public void ManipulateItems<T>(IEnumerable<T> collection){...}

//而不要采用 

 

亦可以使用基类体系,比如C++这种没有单独的接口概念定义的。

public void ProcessBytes(Stream someStream){...}
//而不要采用
public void ProcessBytes(FileStream fileStream){...}

 二、返回类型应尽可能指定最强类型

public IList<String> GetStringCollection(){...}
//而不要
public List<String> GetStringCollection(){...} 
public FileStream OpenFile(){...}
//而不要
public Stream OpenFile(){...}

 

 

 

posted on 2009-12-22 09:28  非常笑  阅读(290)  评论(1编辑  收藏  举报

导航