Vui lòng cho tôi biết lý do tại sao Tham sốThreadStart lớp chỉ cho phép phương thức chỉ loại đối số System.object chứa.Tại sao ParameterizedThreadStart chỉ cho phép tham số đối tượng?
public class MainThreadTest
{
public static void Main(string[] args)
{
Thread T = new Thread(new ParameterizedThreadStart(DisplayYOrX));
T.Start("X");
DisplayYOrX("Y");
}
static void DisplayYOrX(object outValue)
{
string Parameter = (string)outValue;
for(int i=0; i<10; i++)
Console.Write(Parameter);
}
}
Tại sao tôi muốn biết về điều đó là tôi không muốn sử dụng cú pháp truyền kiểu một lần nữa.
string Parameter = (string)outValue;
Tôi nghĩ rằng, như đối với nhà phát triển người sử dụng 2.0 .net framework, lambda là khó sử dụng. Tôi có đúng không? –
@Frank Tôi vừa cập nhật câu trả lời của mình để bao gồm một phiên bản sẽ hoạt động với trình biên dịch C# 2.0. Lưu ý: Việc sử dụng cú pháp lambda là hợp lệ ngay cả trong khung 2.0, miễn là bạn sử dụng trình biên dịch C# 3.0 hoặc cao hơn. Dù bằng cách nào, các mẫu thứ hai tôi đưa lên đó sẽ làm việc với tất cả mọi thứ C# 2.0 và trên – JaredPar
Tôi thực sự quan tâm đến cách bạn nói rằng chúng ta có thể sử dụng cú pháp lambda trong khuôn khổ 2.0. Vì vậy, bạn có thể vui lòng cho tôi biết làm thế nào chúng ta có thể làm điều đó. Bất kỳ liên kết tham chiếu nào? –