public void Add(K1 key1, K2 key2, K3 key3, V value) { if (!ContainsKey(key1)) { this[key1] = new MultiKeyDictionary <K2, K3, V>(); } this[key1][key2, key3] = value; }
public V this[K1 key1, K2 key2, K3 key3] { get { return(ContainsKey(key1) ? this[key1][key2, key3] : default(V)); } set { if (!ContainsKey(key1)) { this[key1] = new MultiKeyDictionary <K2, K3, V>(); } this[key1][key2, key3] = value; } }