3
我正在寻找一种方法来定义IDictionary<List<IInterface>, HashSet<IInterface>>
,以便对于每个键 - 值对实现IInterface
的类型是相同的。编译时检查字典输入类型与接口的正确性
比方说,我有两种类型T1
,T2
,执行IInterface
。
那么它应该是可以添加一个键值对的类型
List<T1>
和HashSet<T1>
List<T2>
和HashSet<T2>
,但它不应该是可以添加的关键价值对
List<T1>
和HashSet<T2>
List<T2>
和HashSet<T1>
。
是否可以定义这样一个字典,以便每当我尝试添加一个禁用的键值对时都会收到编译错误?如果是,如何?
我不在乎我是否需要一个或几个新的类,接口等。我只是想知道原则上是否可行。