This is really simple. For example:
using System.Collections.Generic;
class SomeClass<KEY_TYPE, VALUE_TYPE> {
Dictionary<KEY_TYPE, VALUE_TYPE> myDictionary =
new Dictionary<KEY_TYPE, VALUE_TYPE>();
internal void Add(KEY_TYPE key, VALUE_TYPE value) {
myDictionary.Add(key, value);
}
internal VALUE_TYPE AddOrRetrieve(KEY_TYPE key, VALUE_TYPE value) {
if ((myDictionary.TryGetValue(key, out value))
return value;
myDictionary.Add(key, value);
return value;
}
}
I hope my comments make this usage clear.
—SA