的集合实现的比较器我有我的课对集合
MyClass<MyTriple<FirstG, SecondG, ThirdG>> : ICollection<MyTriple<FirstG, SecondG, ThirdG>>
我存储在数据:
Dictionary<FirstG, Dictionary<SecondG, ThirdG>> Data
,我要实现IEqualityComparer
我的数据。的MyClass
构造函数取为MyTriple
参数比较器:
public MyClass(IEqualityComparer<MyTriple<FirstG, SecondG, ThirdG>> comparer) {...}
,我想(在某种程度上)这个比较器传递给Data
和类似构造函数创建它:
Data = new Dictionary<FirstG, new Dictionary<SecondG, ThirdG>(SecondAndThirdGComparer)>(FirstGComparer);
我真的很绝望,我尝试创建我的比较器,实现IEqualityComparer
,但我想不通,如何得到FirstGComparer<FirstG>
比较器。感谢您的任何建议。
请注意,.NET 4包含[Tuple Class](http://msdn.microsoft.com/en-us/library/system.tuple.aspx),这可能会使一些更容易(或至少更多标准)。 – 2013-04-09 17:40:09
它会如何帮助?而不是MyTriple我会有Touple类,比较器的问题仍然存在 – 2013-04-09 17:50:48
我发现你对特定问题过度关注,但由于Framework已经包含了你想要自己构建的东西,可能有可能这个框架Tuple比你的比较友好吗?它可能已经内置了一个比较器;事实上,[我知道它](http://msdn.microsoft.com/en-us/library/dd990083.aspx)。 – 2013-04-09 17:54:28