Tôi có hàm GetPivotedDataTable (dữ liệu, "ngày", "id", "cờ") đang trả về dữ liệu theo định dạng được Pivoted. Tôi muốn gọi phương thức này bằng cách sử dụng Task nhưng cách chuyển nhiều tham số trong Task.Cách chuyển nhiều thông số trong Tác vụ
10
A
Trả lời
28
Bạn có thể sử dụng biểu thức lambda, hoặc một Func để vượt qua các thông số :)
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
Bạn có thể tạo một lớp trợ giúp sẽ giữ tất cả các thông số bạn cần trong công việc của mình.
2
Trong trường hợp đó các thông số của bạn là các loại khác nhau bạn có thể sử dụng một loạt các đối tượng và sau đó định kiểu trở lại các loại gốc.
Kiểm tra giao diện điều khiển ứng dụng này ví dụ:
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();
}
Các vấn đề liên quan
- 1. cách chuyển nhiều tham số sang tác vụ rake
- 2. cách chuyển thông số sử dụng nút tác vụ trong grails
- 3. Chuyển nhiều thông số với $ .ajax url
- 4. Truyền tham số cho tác vụ vải
- 5. Chuyển nhiều băm như thông số trong url
- 6. Chạy tác vụ trong nhiều chuỗi trên node.js
- 7. Cách lên lịch tác vụ tùy chỉnh thông qua C#
- 8. Chuyển nhiều thông số trong một MVC Ajax.ActionLink
- 9. Chạy nhiều C# Tác vụ Async
- 10. Nhiều thông số trong MyBatis?
- 11. Nhiều tác vụ chống vi phạm trong maven
- 12. Chuyển đối số bằng cách thay đổi giá trị thành Tác vụ - Hành vi?
- 13. chuyển nhiều thông số cho ProcessBuilder với một không gian
- 14. Chuyển hướng stdin/stdout trong tác vụ chạy sbt
- 15. Tác vụ Đại lý SQL Server Thông báo cho nhiều toán tử về lỗi
- 16. ĐĂNG nhiều thông số
- 17. Chuyển nhiều thông số từ url đến html.actionlink
- 18. Cách tạo tác vụ định kỳ
- 19. SSIS- Đặt nhiều biến thông qua một tác vụ SQL đơn
- 20. Đường ray: Chạy nhiều tác vụ rake cùng một lúc?
- 21. Làm cách nào để nhập tệp CSV thông qua tác vụ cào?
- 22. Tác vụ phụ LongRunning tác vụ?
- 23. Hợp tác đa tác vụ bằng cách sử dụng TPL
- 24. Cách quản lý nhiều tác vụ Async hiệu quả trong Android
- 25. JavaScript: Nhiều thông số trong __doPostBack
- 26. Cách chuyển thông số giá trị bảng
- 27. Zend Framework: Cách chọn DB với nhiều thông số?
- 28. Rx và tác vụ - hủy tác vụ đang chạy khi tác vụ mới được sinh ra?
- 29. Tác vụ SQL SSIS - "Tên thông số không được công nhận"
- 30. Nhiều thông số trong Danh sách
rất nhiều nhờ ... –
Mặc dù đồng hồ cho việc thay đổi các biến (chẳng hạn như bắt đầu từ nhiều nhiệm vụ với id riêng) - sau đó bạn phải tạo một bản sao cục bộ của biến: http://stackoverflow.com/questions/10179691/passing-arguments-with-changing-values-to-task-behaviour#10179856. – SharpC