using System.Collections.Generic;using System.Reflection; namespace Utilities{public class OrderedFields<T> where T : new(){public OrderedFields() { }public OrderedFields(List<T> objects, string[] selectedProperties){this.Objects = objects;this.SelectedProperties = selectedProperties;}public List<T> Objects { get; set; }public string[] SelectedProperties { get; set; }public PropertyInfo[] SelectedPropertiesMeta{get{PropertyInfo[] result = new PropertyInfo[SelectedProperties.Length];for (int index = 0; index < SelectedProperties.Length; index++){result[index] = typeof(T).GetProperty(SelectedProperties[index]);}return result;}}}}
public class Project{public Project() { }public int ID { get; set; }public string Name { get; set; }public string CourseNumber { get; set; }public string Status { get; set; }public string Stakeholder { get; set; }public string Classification { get; set; }public string Program { get; set; }public string Description { get; set; }public DateTime? DateCreated { get; set; }public DateTime? StartDateEstimate { get; set; }public DateTime? EndDateEstimate { get; set; }public DateTime? StartDateActual { get; set; }public DateTime? EndDateActual { get; set; }public int Weight { get; set; }public DateTime? LastUpdated { get; set; }}