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)); } }
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)); }
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(); } }