title: Reusable delegate
body: <p>Apologies if this question comes across as "basic" but I haven't done much with delegates and i'm struggling to stumble across the correct syntax - if this is at all possible.</p>
  
  <p>I'm using a delegate like this:</p>
  
  <pre><code>Func&lt;KeyValuePair&lt;string, PostMeta&gt;, bool&gt; filter = x =&gt;
  x.Value.Category == pageMeta.Value.Category &amp;&amp; x.Key != pageMeta.Key;
  </code></pre>
  
  <p>However, I find myself reusing this unwieldly part <code>Func&lt;KeyValuePair&lt;string, PostMeta&gt;, bool&gt;</code> again and again - it feels like it should work like a property getter/setter but i'm not sure.</p>
  
  <p>Here's some non working code to demonstrate further:</p>
  
  <p>Declaration</p>
  
  <pre><code>delegate void PostFilter&lt;Func&lt;KeyValuePair&lt;string, PostMeta&gt;, bool&gt;&gt;();
  </code></pre>
  
  <p>Usage:</p>
  
  <pre><code>PostFilter = x =&gt; x.Value.Category == pageMeta.Value.Category &amp;&amp; x.Key != pageMeta.Key;
  </code></pre>
  
  <p>Any advice appreciated.</p>