У меня есть функция GetPivotedDataTable (данные, «дата», «id», «флаг») возвращает данные в сворачиваемом формате. Я хочу вызвать этот метод с помощью Task, но как передать несколько параметров в Task.Как передать несколько параметров в Задаче
10
A
ответ
28
Вы можете использовать лямбда-выражения, или Func передать параметры :)
public Form1()
{
InitializeComponent();
Task task = new Task(() => this.GetPivotedDataTable("x",DateTime.UtcNow,1,"test"));
task.Start();
}
public void GetPivotedDataTable(string data, DateTime date, int id, string flag)
{
// Do stuff
}
0
Вы можете создать класс помощника, который будет содержать все параметры, которые вам нужны в вашей задаче.
2
В случае, если ваши параметры имеют Diferent типов вы можете использовать массив объекта, а затем типаж обратно к оригинальным типам.
Заканчивать это консольное приложение, например:
static void Main(string[] args)
{
var param1String = "Life universe and everything";
var param2Int = 42;
var task = new Task((stateObj) =>
{
var paramsArr = (object[])stateObj; // typecast back to array of object
var myParam1String = (string)paramsArr[0]; // typecast back to string
var myParam2Int = (int)paramsArr[1]; // typecast back to int
Console.WriteLine("");
Console.WriteLine(string.Format("{0}={1}", myParam1String, myParam2Int));
},
new object[] { param1String, param2Int } // package all params in an array of object
);
Console.WriteLine("Before Starting Task");
task.Start();
Console.WriteLine("After Starting Task");
Console.ReadKey();
}
Смежные вопросы
- 1. Как передать несколько параметров кристаллу?
- 2. Как передать несколько параметров контроллеру?
- 3. как передать несколько параметров javascript?
- 4. Как передать несколько параметров контроллеру
- 5. передать несколько параметров #selector
- 6. Невозможно передать несколько параметров
- 7. Как передать несколько параметров через несколько функций
- 8. передать несколько параметров в PDO
- 9. передать несколько параметров в jtable
- 10. Как передать несколько параметров в запросе?
- 11. Как передать несколько параметров в директиву?
- 12. Как передать несколько параметров в Objective-C?
- 13. как передать несколько параметров в @ Url.action
- 14. Как передать несколько параметров в URL?
- 15. Как передать несколько параметров в DomainService - WCF
- 16. Как передать несколько параметров запросу в Android?
- 17. Как передать несколько параметров в WebAPI?
- 18. Как передать несколько параметров в Url.Action()
- 19. Как передать несколько параметров строки в WebAPI
- 20. как передать несколько параметров в команду rake
- 21. Как передать несколько параметров в java?
- 22. Как передать несколько параметров в пакетном режиме?
- 23. как передать несколько параметров в URL
- 24. как передать несколько параметров url в django
- 25. как передать несколько параметров в RxJava
- 26. передать несколько параметров Angularjs ресурсов
- 27. Как передать несколько значений функции параметров массива
- 28. Java 6: как передать несколько параметров APT
- 29. Как передать несколько параметров обработчику onChange ввода
- 30. Как передать несколько параметров функции python
так много спасибо ... –
Хотя часы для изменения переменных (например, начиная с нескольких задач с отдельными идентификаторами) - затем вы должны сделать локальную копию переменная: http://stackoverflow.com/questions/10179691/passing-arguments-with-changing-values-to-task-behaviour#10179856. – SharpC