I tipi anonimi sono pensati per essere utilizzati solo in ambiti molto ristretti. La maggior parte dei casi d'uso che ho avuto per loro coinvolgono Linq.
var result = from x in MyCollection
select new
{
x.Prop1,
x.Prop2
};
Inoltre, nel caso di LINQ to SQL - usando tipi anonimi genererà SQL diversa selezionando solo le colonne utilizzate nel tipo anonimo. Nel caso precedente (se si trattasse di una query da Linq a SQL), genererebbe qualcosa come "seleziona prop1, prop2 da mytable" invece di selezionare tutti i campi.
Non ho mai incontrato (ancora) una situazione in cui volevo solo dichiarare un nuovo tipo anonimo nel mio codice. Suppongo che se non altro, forse sarebbe un buon uso per le costanti locali?
var x = new
{
FirstName = "Scott",
LastName = "Ivey"
};
fonte
2009-06-22 16:30:46
Hmmm ... Le costanti locali sono un'idea interessante. Sì, ne ho sentito parlare con le query LINQ, ma non mi è mai sembrato utile. –