Having trouble assigning to a generic delegate in C#
<p>My problem is as follows:</p>

<pre><code>public abstract class A {}

public class B : A {
    public static IList&lt;B&gt; MyMethod(){ return new List&lt;B&gt;();}
}

public delegate IList&lt;T&gt; MyDelegate&lt;T&gt;() where T : A;



...

public static void CalledMethod&lt;T&gt;() where T : A{
    MyDelegate&lt;T&gt; del = B.MyMethod;  // This doesn't work
}
</code></pre>

<p>Can anyone explain the best way to get this to work?</p>

<p>Thanks for any help.</p>

<p><strong>edited</strong> to fix example.</p>
