Có thể sử dụng bộ dữ liệu với mô hình kết hợp trong báo cáo chuyển đổi bằng C# 7 như sau:C# 7 Pattern Match với một tuple
switch (parameter)
{
case ((object, object)) tObj when tObj.Item1 == "ABC":
break;
}
tôi nhận được một lỗi mà nói tObj does not exist in the current context
.
Tôi đã cố gắng này là tốt:
switch (parameter)
{
case (object, object) tObj when tObj.Item1 == "ABC":
break;
}
này hoạt động tốt:
switch (parameter)
{
case MachineModel model when model.Id == "123":
break;
}
@DavidArno Cảm ơn bạn đã chỉnh sửa, nhưng có một vấn đề với việc sử dụng 'var'. Nếu 'tham số' là kiểu' đối tượng' và câu lệnh chuyển đổi cũng đang được sử dụng để kiểm tra kiểu, nó sẽ thất bại. [Ví dụ] (https://gist.github.com/WiredUK/21d1a61c01580a2fe7b055ec83b46889) – DavidG
Điểm tốt. Tôi đã giả định từ câu hỏi rằng 'tham số' là một tuple, nhưng đó có thể là một giả định tồi tệ để thực hiện. –
@DavidArno Tôi nghĩ rằng nó gần như chắc chắn là, đó là lý do tại sao tôi đã không chỉnh sửa chỉnh sửa của bạn. Chỉ cần nghĩ rằng nó là đáng nói đến ở đây. – DavidG