public override IEnumerable <MessagePackGridViewModel.IColumn> GenerateColumns(Type elementType) { var members = MessagePackTypeCache.GetMessagePackMembers(elementType, ignoretAttribute: true); foreach (var member in members) { yield return(new MessagePackGridViewModel.Column(member)); } }
public virtual IEnumerable <MessagePackGridViewModel.IColumn> GenerateColumns(Type elementType) { var members = MessagePackTypeCache.GetMessagePackMembers(elementType); foreach (var member in members) { yield return(new MessagePackGridViewModel.Column(member)); } }
public override IEnumerable <MessagePackGridViewModel.IColumn> GenerateColumns(Type elementType) { var members = MessagePackTypeCache.GetMessagePackMembers(elementType, ignoretAttribute: true); var key = members.First(x => x.Name == "Key") as PropertyInfo; var value = members.First(x => x.Name == "Value") as PropertyInfo; bool keyIgonoreType = ColumnGenerator.IgnoreAttribute(key.PropertyType); bool valueIgonoreType = ColumnGenerator.IgnoreAttribute(value.PropertyType); return(Enumerable.Concat( key.PropertyType.IsPrimitiveOrEnumString() ? new[] { new MessagePackGridViewModel.KayValuePairColumn(key, isKey: true) } : MessagePackTypeCache.GetMessagePackMembers(key.PropertyType, ignoretAttribute: keyIgonoreType) .Select(m => new MessagePackGridViewModel.KayValuePairColumn(key, isKey: true)), value.PropertyType.IsPrimitiveOrEnumString() ? new[] { new MessagePackGridViewModel.KayValuePairColumn(value, isKey: false) } : MessagePackTypeCache.GetMessagePackMembers(value.PropertyType, ignoretAttribute: valueIgonoreType) .Select(m => new MessagePackGridViewModel.KayValuePairColumn(m, isKey: false)) )); }