public static Type GetCollectionItemType(Type colType) { foreach (PropertyInfo member in colType.GetProperties ()) { if (member.Name == "Item") { if (member.PropertyType != typeof (object)) return member.PropertyType; } } return null; }