Asignación de un método IronPython a un delegado de C #

Tengo una clase C # que se parece un poco a:

public class MyClass
{
    private Func<IDataCource, object> processMethod = (ds) =>
                                                          {
                                                            //default method for the class
                                                          }

    public Func<IDataCource, object> ProcessMethod
    {
        get{ return processMethod; }
        set{ processMethod = value; }
    }

    /* Other details elided */
}

Y tengo un script IronPython que se ejecuta en la aplicación que parece

from MyApp import myObj #instance of MyClass

def OtherMethod(ds):
    if ds.Data.Length > 0 :
        quot = sum(ds.Data.Real)/sum(ds.Data.Imag)
        return quot
    return 0.0

myObj.ProcessMethod = OtherMethod

Pero cuandoProcessMethod recibe una llamada (fuera de IronPython), después de esta asignación, se ejecuta el método predeterminado.

Sé que el script se ejecuta porque otras partes del script funcionan.

¿Cómo debería estar haciendo esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta