1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
   | public class Mapper<K,T> : IEnumerable< T >, IEnumerator< T > 
 
{ 
    C5.TreeDictionary<K,T> KToTMap = new TreeDictionary<K,T>(); 
    C5.HashDictionary<T,K> TToKMap = new HashDictionary<T,K>(); 
 
    public void Add(K key, T value) 
    { 
        KToTMap.Add(key, value); 
        TToKMap.Add(value, key); 
 
    } 
 
    public int Count 
    { 
        get { return KToTMap.Count; } 
    } 
     
 
    public K this[T obj] 
    { 
        get 
        { 
            return TToKMap[obj]; 
        } 
    } 
 
    public T this[K obj] 
    { 
        get 
        { 
            return KToTMap[obj]; 
        } 
    } 
 
    public IEnumerator< T > GetEnumerator() 
    { 
        return KToTMap.Values.GetEnumerator(); 
    } 
 
    public T Current 
    { 
        get { throw new NotImplementedException(); } 
    } 
 
    public void Dispose() 
    { 
        throw new NotImplementedException(); 
    } 
 
    object System.Collections.IEnumerator.Current 
    { 
        get { throw new NotImplementedException(); } 
    } 
 
    public bool MoveNext() 
    { 
        ; 
    } 
 
    public void Reset() 
    { 
        throw new NotImplementedException(); 
    } 
}  |