public static PropertyInfo[] GetPropertiesInfoOfStronglyTypedListDataSource(this IDataSource bodyDataSource) { if (!bodyDataSource.IsStronglyTypedListDataSource()) return null; var genericType = bodyDataSource.GetType(); var genericArguments = genericType.GetGenericArguments(); var objectType = genericArguments[0]; return objectType.GetProperties(BindingFlags.Public | BindingFlags.Instance); }