繁体   English   中英

如何将泛型参数约束为具有某个 static function?

[英]How can I constrain generic parameter to have a certain static function?

我想要一个通用参数来实现某些 static function。 作为其接口的一部分(static 函数)对我来说,拥有这样的通用参数约束是合乎逻辑的,但我找不到如何做到这一点。 任何帮助表示赞赏。

目前我正在通过定义 NOT static 属性来解决此类问题,该属性返回 static 值,作为 OOP 开发人员我当然不喜欢。 此属性是某些接口的一部分,通用参数是从接口继承的约束。

你不能 - 没有像 static 成员约束类型参数这样的事情,除非你计算需要无参数构造函数的new()约束。

请注意,static 成员不能成为正常 C# 意义上的接口的一部分 - 即使它们显然可以是该类型的公共 API 的一部分。

我之前在博客上写过 C#未来版本中“静态接口”的可能性(只是作为一种功能请求),但现在绝对不可用。

有时最好的选择是让一个单独的类型实现一个普通的接口——如果你能给我们更多关于你的上下文的信息,我们也许可以建议替代方法。

此时,不可能像您需要的那样在 C# 中有约束。 我也很想拥有这个功能。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM