В C# есть анонимные классы, но с ними работать можно только в той же функции:
int[] ints = new int[]{1,2,3,4,5,6};
var anonimous = ints.Select(t => new {integer = t, dbl = (double) t, t2 = t*t});
foreach (var anonim in anonimous)
{
Console.WriteLine("integer = {0}, dbl = {1}, t^2 = {2}", anonim.integer, anonim.dbl, anonim.t2);
}
Но эти анонимные классы часто используются совместно с linq или рефлексией
т.е. создается так:
var anonim = new {свойство = значение, свойство 2 = значение, ...}
Читать об этом тут:
http://msdn.microsoft.com/ru-ru/library/bb397696.aspx