public IEnumerator <KeyValuePair <TKey, TValue> > GetEnumerator() { foreach (object obj in _hashTable.Keys) { WeakHashtable.EqualityWeakReference keyRef = obj as WeakHashtable.EqualityWeakReference; if (keyRef != null) { TKey key = keyRef.Target as TKey; if (key != null) { yield return(new KeyValuePair <TKey, TValue>(key, (TValue)_hashTable[obj])); } } } }
public IEnumerator <T> GetEnumerator() { foreach (object key in _hashTable.Keys) { WeakHashtable.EqualityWeakReference objRef = key as WeakHashtable.EqualityWeakReference; if (objRef != null) { T obj = objRef.Target as T; if (obj != null) { yield return(obj); } } } }
public IEnumerator <KeyType> GetEnumerator() { WeakHashtable hashTable = Dict._hashTable; foreach (object obj in hashTable.Keys) { WeakHashtable.EqualityWeakReference keyRef = obj as WeakHashtable.EqualityWeakReference; if (keyRef != null) { KeyType key = keyRef.Target as KeyType; if (key != null) { yield return(key); } } } }