【发布时间】:2020-05-30 21:38:39
【问题描述】:
我一直在阅读 Albaharis 的“C# 5.0 in A Nutshell”,我在泛型部分遇到过这个,据说它是合法的:
class Bar<T> where T : Bar<T> { ... }
虽然我已经仔细阅读了整章,但这对我来说毫无意义。一点都看不懂。
有人可以用一些可以理解的命名来解释它,例如:
class Person<T> where T : Person<T> { ... }
以及这种用法合适且有用的真实应用场景?
【问题讨论】:
-
可能有点帮助,尽管它不是问题的重复或解决方案:stackoverflow.com/questions/6618134/… 问题中有一个关于动物和鸭子的例子
-
如果我没记错的话,这叫做“奇怪的重复模板模式”
标签: c# self-reference