【发布时间】:2015-10-06 19:28:53
【问题描述】:
我的班级中有以下构造函数,用于初始化我的任务:
public ReportGeneratorThread(Func<int, bool> getPermission, Action<object> a)
{
this.action = a;
this.t = new Task(this.action = this.InvokedAction, this.cancellationToken);
this.getPermission = getPermission;
}
任务调用的InvokedAction方法定义如下:
private void InvokedAction(object obj)
{
Debug.WriteLine(DateTime.Now.ToLongTimeString() + " Task " + this.t.Id + " has STARTED Generating a report");
this.GenerateReport();
throw new ArgumentException("For testing purpose");
}
当我想使用 int 而不是对象调用此方法时会出现问题,因为任务不接受此方法。有什么方法可以让我使用 int 值调用此方法:
Action<int>
【问题讨论】:
-
请显示失败的代码。
-
它并没有像现在这样失败。新的 Task() 方法不接受将 int 作为 lambda 表达式的操作。我只想以 int 作为参数调用方法
标签: c# .net delegates action invoke