Actualmente trabaja en una asociación de búsqueda bidireccional genérica, ordenada por TKey. En algún momento espero tener acceso como la siguiente:Compilación condicional de métodos genéricos
public class Assoc<TKey, TValue>
{
public TKey this[TValue value] { get; }
public TValue this[TKey value] { get; }
}
Pero obviamente cuando TKey == TValue esta fallará. Por curiosidad, ¿hay una sintaxis de compilación condicional para hacer esto:
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; }
}
Cuando se utiliza la clase con TKey == TValue ser útil? – casablanca
¿Qué significa 'public TKey this [TValue value] {get; } '¿hacer? No estoy entendiendo el propósito de esta API. –
@casablanca, ¿Alguna vez ha usado 'Dictionary'? Parece que Jake quiere tener algo muy similar a un diccionario, pero con búsqueda asociativa tanto por clave como por valor. –