Ejemplo n.º 1
0
        internal override void PopulateValue(
            IMemberRef target, int optionId, IArgumentList args)
        {
            if (!args.HasArg(optionId))
            {
                return;
            }

            bool allowMultiple =
                typeof(ICollection <string>).IsAssignableFrom(target.ValueType) ||
                typeof(ICollection).IsAssignableFrom(target.ValueType);

            if (allowMultiple)
            {
                target.SetValue(args.GetAllArgValues(optionId));
            }
            else
            {
                target.SetValue(args.GetLastArgValue(optionId));
            }
        }
Ejemplo n.º 2
0
        internal override void PopulateValue(
            IMemberRef target, int optionId, IArgumentList args)
        {
            if (!args.HasArg(optionId))
            {
                return;
            }

            var converter = TypeDescriptor.GetConverter(target.ValueType);
            var value     = args.GetLastArgValue(optionId, DefaultValue);

            target.SetValue(converter.ConvertFromInvariantString(value));
        }
Ejemplo n.º 3
0
        internal override void PopulateValue(IMemberRef target, int optionId, IArgumentList args)
        {
            if (!args.HasArg(optionId))
            {
                return;
            }

            var values = args.GetAllArgValues(optionId);

            if (target.CanWrite)
            {
                target.SetValue(ConvertCollection(values, target.ValueType));
            }
            else if (target.CanRead)
            {
                throw new NotImplementedException();
            }
        }