2009-11-13 114 views

回答

13

MSDN

 
Constraint   Description 

where T : U   The type argument supplied for T must be or derive from 
        the argument supplied for U. This is called a naked type 
        constraint. 

当一个一般类型参数被用作缺点traint,它被称为裸型约束。裸类型约束是当与其自己的类型参数的成员函数具有约束该参数包含类型的类型参数是有用的,如显示在下面的例子:

class List<T> 
{ 
    void Add<U>(List<U> items) where U : T {/*...*/} 
} 
+1

我总是在学习...... – 2009-11-13 17:12:45

+1

我从来没有听说过这个术语,虽然我已经使用过这种约束类型几次了。 – dtb 2009-11-13 17:20:36

19

顺便说一句,它是对我来说这是一个让人觉得奇怪的术语,使它成为MSDN文档。我们当然不会在C#编译器团队中称这些约束为“裸类型约束”,我感到震惊,震惊!发现几年前,这就是文件所说的。我们通常称它们为“类型参数约束”。我不知道这个术语是如何进入文档的;那里可能有一个有趣的故事。