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

原创 2007年09月14日 14:06:00

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>();

}

}

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C#类库处理异常指导原则

作为一个类库开发的新手,在面对Exception时,一直不知道所措。阅读了的异常处理部分,记录下一些基本的原则,供日后查询并与大家分享。欢迎高手指点一二。 一、善用finally块  ...
  • kmguo
  • kmguo
  • 2013-11-28 23:54
  • 2407

C#数据结构和算法学习系列二----泛型编程

面向对象编程的问题之一就是所谓“代码膨胀”的特征。为了说明方法参数所有可能的数据类型而需要重载某种方法或重载一套方法集合的时候,就会发生某种类型的代码膨胀。代码膨胀的解决方案之一就是使某个值呈现多种数...

c#泛型编程基础

泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。 例子代码: class Program     {         static...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)