예제 #1
0
        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));
            }
        }
예제 #2
0
        public virtual IEnumerable <MessagePackGridViewModel.IColumn> GenerateColumns(Type elementType)
        {
            var members = MessagePackTypeCache.GetMessagePackMembers(elementType);

            foreach (var member in members)
            {
                yield return(new MessagePackGridViewModel.Column(member));
            }
        }
예제 #3
0
        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))
                       ));
        }