关闭

C#泛型编程指导原则(六、七)

标签: 编程c#stringclasstypesc++
524人阅读 评论(0) 收藏 举报
分类:

Item 6: Use Expressive, Consistent Type Parameter Names使用富有表现力的、前后一致的类型参数名称

对于该问题,有两大基本阵营。一方认为“单个字母”的类型参数名称更好,因为它减少了泛型声明的签名的大小,这是被大多数C++模板库所使用的模式。另一方认为一个字母过于简短,不足以表达类型参数的本质意义,他们希望用长一点的、更具有表述性的名字。

用中国话最好来解释了:具体问题具体分析,在两种方法之间折中处理。

下面的例子极好的表现了这一点:

public class Dictionary<K, V> {}

public class Dictionary<TKey, TValue>

Item 7: Use Aliasing for Complex or Frequently Used Types对复杂的或者频繁使用的类型,使用别名

简单的不需要解释J

看例子J

public void ProcessItem(MyType1<long, double, string> value, int status)

 {

MyType1<long, double, string> x = new MyType1<long, double, string>();

if (status == 1)

 {

MyType1<long, double, string> y = value;

}

Else

 {

Nullable<MyType1<long, double, string>> z =

new Nullable<MyType1<long, double, string>>();

}

}

使用别名后可以简化为:

using MType = MyType1<long, double, string>;

public void ProcessItem(MType value, int status)

 {

MType x = new MType();

if (status == 1)

{

MType y = value;

}

else

{

Nullable<MType> z = new Nullable<MType>();

}

}

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:306751次
    • 积分:4274
    • 等级:
    • 排名:第7078名
    • 原创:79篇
    • 转载:33篇
    • 译文:55篇
    • 评论:103条
    文章分类
    最新评论