我需要通过代码而不是通过一些UI工具进行调试。
类TaskScheduler
具有返回Current
的属性ThreadPoolTaskScheduler
,但它是内部的,显然位于taskschd.dll中。
GetScheduledTasks()
的{{1}}也受到保护
换句话说,您无法使用它来列出任务。我需要列出所有任务,包括代表我的控制台应用程序间接在基本NET代码中创建的任务
答案 0 :(得分:0)
您可以使用System.Reflection api执行此操作。您可以通过向反射方法提供适当的BindingFlags来查询非公共成员:
var type = typeof(TaskScheduler);
var fieldinfo = type.GetProperty("Current", BindingFlags.Instance | BindingFlags.NonPublic);
var methodInfo = type.GetMethod("GetScheduledTasks", BindingFlags.Instance | BindingFlags.NonPublic));
..在获取属性和方法的元数据后,您可以致电PropertyInfo.GetValue或MethodInfo.Invoke。