gpt4 book ai didi

C# 泛型,约束特定结构

转载 作者:太空狗 更新时间:2023-10-29 22:11:34 24 4
gpt4 key购买 nike

是否可以限制通用方法只接受特定类型的结构?

我相信这没问题:

string Add<T>(object value, T expiration) where T : struct; 

但事实并非如此:

string Add<T>(object value, T expiration) where T : Struct1, Struct2; 

注意:我希望将其约束为 DateTime 或 TimeSpan 的结构,因此我无法控制它们。

谢谢

最佳答案

不,因为结构是密封的(您不能创建 ValueType 的子类)。

相反,考虑让您的结构实现一个接口(interface),然后将其用作约束,如下所示:

string Add<T>(object value, T expiration) where T : struct, IMyInterface

关于C# 泛型,约束特定结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1815312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com