通用约束,其中T:struct和T:class

通用约束,其中T:struct和T:class,第1张

通用约束,其中T:struct和T:class

约束不是签名的一部分,但参数是签名的一部分。在重载解析过程中会强制执行参数约束。

因此,让我们将约束放入参数中。很难看,但是可以用。

class RequireStruct<T> where T : struct { }class RequireClass<T> where T : class { }static void Foo<T>(T a, RequireStruct<T> ignore = null) where T : struct { } // 1static void Foo<T>(T? a) where T : struct { } // 2static void Foo<T>(T a, RequireClass<T> ignore = null) where T : class { } // 3

迟到比没有迟到六年吗?)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存