Stripe支付.NET API有以下的通用类定义,我想了解为什么约束部分的
StripeEntity<T>
应该是类型T
。public abstract class StripeEntity<T> : StripeEntity where T : StripeEntity<T>
来源: https://github.com/stripe/stripe-dotnet/blob/master/src/Stripe.net/Entities/_base/StripeEntity.cs
我了解泛型语法,但不理解为什么要以这种方式定义类,背后的思想是什么。这是否是围绕泛型类的常见模式,如果是,有哪些好处?