Specifying Specific Type of a Delegate Argument
<p>Assuming I have the following delegate</p>

<pre><code>public delegate void ControlInitializer(Control control);
</code></pre>

<p>Is there a way when specifying the delegate to specify what type of control the input parameter is? e.g.</p>

<p>Instead of </p>

<pre><code>ControlInitializer one = c =&gt; ((TextBox)c).Text = "Init Value"
ControlInitializer two = c =&gt; ((DropDownList)c).SelectedValue= "-1"
</code></pre>

<p>Can I do something like</p>

<pre><code>ControlInitializer one = (TextBox c) =&gt; c.Text = "Init Value"
ControlInitializer two = (DropDownList c) =&gt; c.SelectedValue= "-1"
</code></pre>

<p>As Textbox is a sub class of Control in this case?</p>

<p>Update: I also need to store these 2 ControlInitialiser delegates in a e.g. </p>

<pre><code>Dictionary&lt;string, ControlInitializer&gt;
</code></pre>

<p>will specifying </p>

<pre><code>Dictionary&lt;string, ControlInitializer&lt;Control&gt;&gt;
</code></pre>

<p>Work in this case as I can't seem to get it to work.</p>

<p>Thanks in advance.</p>
