public override Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)
{
// TODO: 本当はどうやってやるべきなのかがわからない…
var queryString = new QueryStringValueProvider(actionContext, CultureInfo.CurrentCulture);
var parameterName = Descriptor.ParameterName;
var value = queryString.GetValue(parameterName).Maybe(x => x.AttemptedValue) ??
actionContext.ControllerContext.RouteData.Values[parameterName] as string;
Version version;
if (Version.TryParse(value, out version))
{
SetValue(actionContext, version);
}
return _completed;
}