Attualmente funziona su un'associazione di ricerca bidirezionale generica, ordinata da TKey. Ad un certo punto spero di avere accesso come la seguente:Compilazione condizionale di metodi generici
public class Assoc<TKey, TValue>
{
public TKey this[TValue value] { get; }
public TValue this[TKey value] { get; }
}
Ma ovviamente quando TKey == TValue questo fallirà. Per curiosità, c'è una compilazione sintassi condizionale per fare questo:
public class Assoc<TKey, TValue>
{
[Condition(!(TKey is TValue))]
public TKey this[TValue value] { get; }
[Condition(!(TKey is TValue))]
public TValue this[TKey value] { get; }
public TKey Key(TValue value) { get; }
public TValue Value(TKey value) { get; }
}
Quando si avrebbe utilizzando la classe con TKey == TValue essere utile? – casablanca
Cosa significa 'pubblico TKey questo [valore TValue] {get; } 'fare? Non sto capendo lo scopo di questa API. –
@casablanca, hai mai usato 'Dictionary'? Sembra che Jake voglia avere qualcosa di molto simile a un dizionario, ma con una ricerca associativa sia per chiave che per valore. –