Ho un'interfaccia chiamata Identifiable<TId>
che contiene un ID di proprietà singola del tipo specificato. Voglio creare una classe generica che prende uno di questi come parametro di tipo. Dovrebbe essere generico perché voglio restituire il tipo concreto, chiamare altri metodi generici dall'interno e usare cose come typeof(T)
.È possibile implementare questa interfaccia genericamente in modo che possa essere passato solo un parametro di tipo?
Questo funziona bene:
public class ClassName<T, TId> where T : Identifiable<TId>
problema è che il codice chiamante deve passare in due tipi. per esempio. new ClassName<Person, int>()
Mi chiedo se in .net 3.5 ci sia un modo per scrivere questo in modo che TId possa essere dedotto da T? Permettendo al chiamante di fare solo new ClassName<Person>()
?
Forse si potrebbe mostrare un esempio un po 'più dettagliato in modo che possa sia chiaro cosa stai cercando di fare e perché. – deepee1