using System.Collections.Generic;
public string SomeProperty
public static IEnumerable<object> SomeObjects()
var anons = new List<object>();
var myAnonymousType = new
Number1 = 5, Number2 = 7, String1 = ""
anons.Add(myAnonymousType);
public static void Analyse<T>(IEnumerable<T> input)
var properties = typeof(T).GetProperties();
foreach (var item in properties)
Console.WriteLine(item.Name);
var inputProperties = input.First().GetType().GetProperties();
foreach (var item in inputProperties)
public static void Main()
var holder = new Holder()
{SomeProperty = "testing"};
var properties = holder.GetType().GetProperties();
Console.WriteLine("---Start 1---");
foreach (var item in properties)
Console.WriteLine(item.Name);
Console.WriteLine("---End 1---");
var myAnonymousType = new
Number1 = 5, Number2 = 7, String1 = ""
var anonProperties = myAnonymousType.GetType().GetProperties();
Console.WriteLine("---Start 2---");
foreach (var item in anonProperties)
Console.WriteLine(item.Name);
Console.WriteLine("---End 2---");
Console.WriteLine("---Start 3---");
var someObjects = Holder.SomeObjects();
Holder.Analyse<object>(someObjects);
Console.WriteLine("---End 3---");