3 public interface ISequenced<T>
5 bool Equals (ISequenced<T> that);
8 public class SequencedHasher <S,W>
9 where S : ISequenced<W>
11 public bool Equals (S i1, S i2)
13 return i1 == null ? i2 == null : i1.Equals (i2);
17 public class Sequenced<T> : ISequenced<T>
19 public bool Equals (ISequenced<T> that)
29 Sequenced<int> s = new Sequenced<int> ();
30 SequencedHasher<Sequenced<int>,int> hasher = new SequencedHasher<Sequenced<int>,int> ();