Tôi đang cố gắng tạo một biểu mẫu sẽ tạo hiệu ứng gì đó trong khi xử lý một tác vụ cụ thể (được chuyển giao làm đại biểu cho hàm tạo). Nó hoạt động tốt, nhưng vấn đề tôi gặp phải là tôi không thể khởi tạo một bản sao của lớp chung của tôi nếu phương thức cụ thể mà tôi muốn thực hiện có một kiểu trả về void.bỏ dấu trống cho một lớp chung
Tôi hiểu rằng điều này là do thiết kế và tất cả, nhưng tôi tự hỏi nếu có một cách giải quyết được biết đến cho các tình huống như thế này.
Nếu nó giúp ở tất cả các cửa sổ của tôi dưới hình thức trông như vậy (tỉa cho ngắn gọn):
public partial class operatingWindow<T> : Form
{
public delegate T Operation();
private Operation m_Operation;
private T m_ReturnValue;
public T ValueReturned { get { return m_ReturnValue; } }
public operatingWindow(Operation operation) { /*...*/ }
}
Và tôi gọi nó là thích:
operatingWindow<int> processing = new operatingWindow<int>(new operatingWindow<int>.Operation(this.doStuff));
processing.ShowDialog();
// ...
private int doStuff()
{
Thread.Sleep(3000);
return 0;
}