Ho un metodo che conta il numero di contatti ogni fornitore, cliente e produttore ha (questo è uno scenario di provare rendere spiegazione più facile!)C# accedere alle proprietà di un oggetto generico
I modelli sono tutti creati da Classi da Linq a SQL. Ogni fornitore, cliente e produttore possono avere uno o più contatti
public int CountContacts<TModel>(TModel entity) where TModel : class
{
return entity.Contacts.Count();
}
È possibile che questo ovviamente non funziona, perché il 'soggetto' è generico e non sa se ha la proprietà 'Contatti'. Qualcuno può aiutare con come ottenere questo?
+1 Tranne che non si dovrebbe restituire l'elenco - preferibilmente IList <> o forse anche IEnumerable <> –
n8wrl
Buon punto. Stavo digitando velocemente e non ci ho pensato. – kemiller2002
Il problema è che le classi LINQ a SQL utilizzano EntitySet per tale scopo e la proprietà Contacts con il tipo EntitySet non implementerà la proprietà dell'interfaccia, quindi dovrà implementarla manualmente in ogni classe. – Venemo