protected void Argument( NameString name, Action <IArgumentDescriptor> argument) { if (argument == null) { throw new ArgumentNullException(nameof(argument)); } name.EnsureNotEmpty(nameof(name)); ArgumentDescriptor descriptor = Parameters != null && Parameters.TryGetValue(name, out ParameterInfo p) ? ArgumentDescriptor.New(Context, p) : ArgumentDescriptor.New(Context, name); argument(descriptor); ArgumentDefinition definition = descriptor.CreateDefinition(); Definition.Arguments.Add(definition); }
public static ArgumentDescriptor ToDescriptor( this ArgumentDefinition definition, IDescriptorContext context) => ArgumentDescriptor.From(context, definition);