title: c# IApiExplorer not showing methods from controller with ParameterBindingAttribute
body: <p>I'm using ASP.NET Web API Help Page for my WebApi, but unfortunately controller method's that uses <code>ParameterBindingAttribute</code> are not being listed on <code>GetApiExplorer()</code>. Example bellow <code>GetOutPut</code> is listed and <code>GetEntrance</code> not.</p>
  
  <pre><code>public HelpController() : this(GlobalConfiguration.Configuration) { }
  
          public HelpController(HttpConfiguration config)
          {
              Configuration = config;
          }
  
          public ActionResult Index()
          {
              ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider();
              return View(Configuration.Services.GetApiExplorer().ApiDescriptions);
          }
  </code></pre>
  
  <p>Controller's methods</p>
  
  <pre><code>/// &lt;summary&gt;
          /// Entrance
          /// &lt;/summary&gt;
          /// &lt;param name="foo"&gt;&lt;/param&gt;
          /// &lt;param name="initialDate"&gt;&lt;/param&gt;
          /// &lt;param name="finalDate"&gt;&lt;/param&gt;
          /// &lt;returns&gt;&lt;/returns&gt;
          [Route("entrance/{foo}/{initialDate}/{finalDate}")]
          [HttpGet]
          [ResponseType(typeof(BooModel))]
          public IHttpActionResult GetEntrance(string foo,
              [DateTimeParameter(DateFormat = DateTimeBindingFormats.yyyyMMddHHmm)] DateTime? initialDate,
              [DateTimeParameter(DateFormat = DateTimeBindingFormats.yyyyMMddHHmm)] DateTime? finalDate)
          {
              try
              {                
                  return Ok();
              }
              catch (Exception ex)
              {
                  return InternalServerError(ex);
              }
          }
  
          /// &lt;summary&gt;
          /// Out Put
          /// &lt;/summary&gt;
          /// &lt;param name="foo"&gt;&lt;/param&gt;
          /// &lt;param name="initialDate"&gt;&lt;/param&gt;
          /// &lt;param name="finalDate"&gt;&lt;/param&gt;
          /// &lt;returns&gt;&lt;/returns&gt;
          [Route("output/{foo}/{initialDate}/{finalDate}")]
          [HttpGet]
          [ResponseType(typeof(FooModel))]
          public IHttpActionResult GetOutPut(string foo, DateTime? initialDate, DateTime? finalDate)
          {
              try
              {                
                  return Ok();
              }
              catch (Exception ex)
              {
                  return InternalServerError(ex);
              }
          }
  </code></pre>
  
  <p>XMLDocument.xml</p>
  
  <pre><code>&lt;member name="M:IntegrationServices.Controllers.FooController.GetEntrance(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime})"&gt;
              &lt;summary&gt;
              Entrance
              &lt;/summary&gt;
              &lt;param name="foo"&gt;&lt;/param&gt;
              &lt;param name="initialDate"&gt;&lt;/param&gt;
              &lt;param name="finalDate"&gt;&lt;/param&gt;
              &lt;returns&gt;&lt;/returns&gt;
          &lt;/member&gt;
          &lt;member name="M:IntegrationServices.Controllers.FooController.GetOutPut(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime})"&gt;
              &lt;summary&gt;
              Out Put
              &lt;/summary&gt;
              &lt;param name="foo"&gt;&lt;/param&gt;
              &lt;param name="initialDate"&gt;&lt;/param&gt;
              &lt;param name="finalDate"&gt;&lt;/param&gt;
              &lt;returns&gt;&lt;/returns&gt;
          &lt;/member&gt;
  </code></pre>
  
  <p>ParameterBindingAttribute's class</p>
  
  <pre><code> public class DateTimeParameterAttribute : ParameterBindingAttribute
      {
          public string DateFormat { get; set; }
  
          public bool ReadFromQueryString { get; set; }
  
  
          public override HttpParameterBinding GetBinding(HttpParameterDescriptor parameter)
          {
              if (parameter.ParameterType != typeof(DateTime?)) return parameter.BindAsError("Expected type DateTime?");
              var binding = new DateTimeParameterBinding(parameter)
              {
                  DateFormat = DateFormat,
                  ReadFromQueryString = ReadFromQueryString
              };
  
              return binding;
          }
      }
  </code></pre>
  
  <p>Any ideas ? workaroud ?</p>