By design why is it mandatory to specify parameter names when declaring delegate type?
<p>Why must we specify the parameter name <code>x</code> as follows</p>

<pre><code>public delegate void XXX(int x);
</code></pre>

<p>when declaring a delegate type?</p>

<p>For me, the parameter name <code>x</code> is unused so it will be simpler if we can rewrite as follows:</p>

<pre><code>public delegate void XXX(int);
</code></pre>

<p>Please let me know why the C# designer "forced" us to specify the parameter names.</p>

<h2>Edit1:</h2>

<p>Is <code>public delegate TResult Func&lt;T1,TResult&gt;(T1 arg1)</code> more readable than <code>public delegate TResult Func&lt;T1,TResult&gt;(T1)</code> ?</p>
