是否可以限制通用方法只接受特定类型的结构?
我相信这没问题:
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/