C#2.0 Specification(泛型一)[7]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 tlping 的 blog

泛型类声明不能使用system.attribute作为直接或间接基类。

在一个类声明中指定的基接口可以是构造接口类型(§20.5)。基接口自身不能是类型参数,但在其作用域内可以包含类型参数,下面的代码演示了如何实现和扩展构造类型。

class c<u,v>{}

interface i1<v>{}

class d:c<string  , int>,i1<string>{}

class e<t>:c<int,t> ,i1<t>{}

泛型类型声明的基接口必须满足§20.3.1中所描述的唯一性规则。

从基类或接口重写或实现方法的类的方法,必须提供特定类型的合适方法。下面的代码演示了方法如何被重写和实现。这将会在§20.1.10中进一步解释。

class c<u,v>

{

    public virtual void  m1(u x , list<v> y){…}

}

interface i1<v>

{

    v  m2(v x);

}

class d:c<string  , int>,i1<string>

{

    public override void m1(string x , list<int> y){…}

    public string m2(string x){…}

}

 

20.1.4泛型类的成员

泛型类的所有成员都可以直接地或者作为构造类型的一部分,从任何封闭类(enclosing class)中使用类型参数。当特定的封闭构造类型在运行时被使用时,类型参数的每次使用都由构造类型所提供的实际类型实参所代替。例如

 

class c<v>

{  

    public v f1;   

本文关键:C# 2.0
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top