// Called once per method definition. Very static. public Task <IBinding> TryCreateAsync(BindingProviderContext context) { if (context == null) { throw new ArgumentNullException("context"); } ParameterInfo parameter = context.Parameter; TAttribute attribute = parameter.GetCustomAttribute <TAttribute>(inherit: false); if (attribute == null) { return(Task.FromResult <IBinding>(null)); } IBinding binding = BindingFactoryHelpers.BindCollector <TAttribute, TMessage>( parameter, _nameResolver, _converterManager, context.BindingDataContract, _buildFromAttribute, _buildParamDescriptor, _postResolveHook); return(Task.FromResult(binding)); }
public override IBinding CreateBinding() { IBinding binding = BindingFactoryHelpers.BindCollector <TAttribute, TMessage>( Parameter, NameResolver, new IdentityConverterManager(), this.Context.BindingDataContract, this.BuildFromAttribute, null); return(binding); }