Этот пример компилируется и запускается как ожидалось:
dynamic obj = new ExpandoObject();
obj.Method = new Func<int, string>((i) =>
{
Console.WriteLine(i);
return "Hello World";
});
obj.Method(10);
Console.ReadKey();
Проблема с вашим утверждением состоит в том, что ваш Func не использует выходной параметр, как ваша подпись.
(input1, out processingStatus)
Если вы хотите назначить свой текущий метод, вы не сможете использовать Func, но вы МОЖЕТЕ создать своего собственного делегата:
public delegate List<int> MyFunc(int input1, out bool processing);
protected static void Main(string[] args)
{
dynamic obj = new ExpandoObject();
obj.Method = new MyFunc(Sample);
bool val = true;
obj.Method(10, out val);
Console.WriteLine(val);
Console.ReadKey();
}
protected static List<int> Sample(int sample, out bool b)
{
b = false;
return new List<int> { 1, 2 };
}