foreach(var p in linqQueryResult){foreach (var curPropertyInfo in p.GetType().GetProperties()) { MethodInfo getMeth = curPropertyInfo.GetGetMethod(); MethodInfo getSet = curPropertyInfo.GetSetMethod(); if ((getMeth == null) || (getSet == null)) continue; if (string.Compare(curPropertyInfo.Name, "Item") != 0) // handle non-enumerable properties { object oValue = getMeth.Invoke(p, null); string value = oValue.ToString(); Debug.WriteLine(curPropertyInfo.Name + ": " + value.ToString()); } else // handle enumerable properties { } }}