什么是术语“裸类型约束”是指什么?
-
20-09-2019 - |
题
最近,我已阅读在泛型的上下文中,术语“裸类型约束”。这是什么 意思?我们在哪里使用它?
解决方案
从 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.
当一个一般类型参数被用作一个约束,其被称为裸类型约束。裸类型约束是当与其自己的类型参数的成员函数具有约束该参数包含类型的类型参数是有用的,如显示在下面的示例:
class List<T>
{
void Add<U>(List<U> items) where U : T {/*...*/}
}
其他提示
顺便说一句,它是奇异的,我认为这有点淫秽术语设法使其进入MSDN文档。我们当然不会把这些限制“裸类型约束”的C#编译器团队,我感到非常震惊,震惊!发现在几年前,这是文档所说的话。我们通常称之为“类型参数约束”。我不知道这个词是怎么进入摆在首位的文件;可能有一个有趣的故事在那里。
“当一个一般类型参数被用作一个约束,其被称为裸类型约束。裸类型约束有用的,当其自己的类型参数的成员函数具有与参数约束到包含类型的类型参数“
不隶属于 StackOverflow