Passing in functions
<p>I want to overload a function without using optional parameters. When I use generics, I run into a problem; however, it works with simple types. I am confused so thanks for the help. Class B uses int to validate my syntax; while class C is what I want to accomplish. </p>

<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace X
{
    class A
    {
    }
    class B
    {

        public static int f(int i1, int i2)
        {
            return i1 + 12;
        }
        public int ix(Func&lt;int,int,int&gt; f1,int v1)
        {
            return 1;
        }
        public void iy(Func&lt;int, int, int&gt; f1, int v1)
        {
            int i = ix(f1, 1);
        }
        public void iz()
        {
            int i = ix(f, 1);
        }
    }

    class C
    {
        public static List&lt;A&gt; f(List&lt;A&gt; a, int v)
        {
            return new List&lt;A&gt;();
        }
        public int ax(Func&lt;List&lt;A&gt;, List&lt;A&gt;, int&gt; f1, int v1)
        {
            return 1;
        }
        public void ay(Func&lt;List&lt;A&gt;, List&lt;A&gt;, int&gt; f1, int c)
        {
            int i = ax(f1, c);
        }
        public void az()
        {
            int i = ax(f, 1);
        }
    }
}
</code></pre>
