¿Diccionarios de varias claves (de otro tipo) en C #?

Sobre la base deesta pregunta, ¿hay una solución simple para tener un diccionario de múltiples claves dondecualquiera de las dos teclas individualmente ¿Se puede utilizar para identificar el valor?

es decir.

MultikeyDictionary<TKey1, TKey2, TValue> foo;
foo.Add(key1, key2, value);
myValue = foo[key1];
// value == myValue
foo.Remove(key2);
myValue = foo[key1]; // invalid, Exception or null returned

Respuestas a la pregunta(9)

Su respuesta a la pregunta