У меня есть класс C#, который выглядит немного как:Назначение метода IronPython в C# делегат
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 */
}
И у меня есть сценарий IronPython, который получает запустить в приложении, которое выглядит как
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
Но когда вызывается ProcessMethod
(за пределами IronPython), после этого назначения запускается метод по умолчанию.
Я знаю, что сценарий запущен, потому что работают другие части скрипта.
Как я должен это делать?
Ответ на старый пост, но не так ли также нужно импортировать имя IDataSource откуда-нибудь, чтобы это работало? –