我想创建以下类片段在C#泛型泛型类型参数,允许以某种形式
class Lookup<TKey,TValue,TCollection>
where TCollection : ICollection<>
{
public TCollection<TKey> _KeyCollection;
public TCollection<TValue> _ValueCollection;
}
是这种模式一般可以在C#中?在目前的形式下,编译器不喜欢它。你似乎无法约束一个类型参数是一个通用的。然而,它看起来像是一个合理的事情要做。有什么窍门可以实现它吗?
注意:这个问题是关于泛型和类型约束的具体问题。它不是在寻找我认为可能在我的更广泛应用中尝试做的工作。
没有可能的工作。你会限制TCollection是两个不同的非泛型类型。无论如何,我都会尝试它;) – bradgonesurfing
你能提供你想要如何使用它的样本吗? – Grundy
为什么你想要TCollection是通用的?有两个ICollections作为字段是不够的吗? – Marcel