title: Passing an argument to Func<> in MVC helper
body: <p>I have <strike>stolen</strike> seen the following code from the interwebs. Method signarure is </p>
  
  <pre><code>public static MvcHtmlString RecordPager(this HtmlHelper html, PagingInfoModel pageInfo, Func&lt;int,string&gt; someUrl )
  </code></pre>
  
  <p>This gets called in the View as follows:</p>
  
  <pre><code>@Html.RecordPager(Model.PagingInfoModel, x =&gt; Url.Action("Index", new { page = x }) )
  </code></pre>
  
  <p>My question is <strong>specifically about the last parameter</strong>, i don't quite understand how can you pass the argument 
  <strong>x => Url.Action("Index", new { page = x })</strong> into the parameter </p>
  
  <pre><code>Func&lt;int,string&gt; someUrl
  </code></pre>
  
  <p>I know this is an Extension method for MVC's HtmlHelper, etc. and Func&lt;int, string&gt; is a delegate expecting an <strong>int</strong> and returning a <strong>string</strong>, but where is the <strong>int</strong> in the argument x => Url.Action etc...</p>
  
  <p>You may have gathered i don't understand lamba and linq and anonymous functions and all that modern jazz, but please provide a decent explanation for dummies like me who will encounter this same question. Thanks.</p>