c#internal static class MyExtensions{ internal static T Cast<T>(this GenericReadableRow r) where T : new() { var result = new T(); foreach (var prop in typeof(T).GetProperties()) { if (prop.GetCustomAttribute<ValueAttribute>() is ValueAttribute attr) { prop.SetValue(result, r.Values[attr.Index]); } } return result; }}
GenericReadableRow
List<Object>