Chỉ cần chạy vào ngày hôm nayTại sao bạn không thể sử dụng chức năng anon với thông số động?
Một chức năng ẩn danh hoặc nhóm phương pháp không thể được sử dụng như một giá trị thành phần của một hoạt động tự động bị ràng buộc.
khi cố gắng làm
static R ifNotNull<R>(dynamic o, Func<dynamic, R> returnFunc, R otherwise) {
return ReferenceEquals(null, o) ? otherwise : returnFunc(o);
}
và sử dụng nó với
dynamic firstAddress = ...;
return ifNotNull<string>(firstAddress, (a) => a.address_1, null)
Bây giờ hầu hết các hạn chế về động thái có ý nghĩa đối với tôi - bạn có thể không sử dụng một phương pháp mở rộng vì thế nào trình biên dịch là gì để quyết định tĩnh để biên dịch nó? Nhưng tôi không nhận được điều này ở đây. Sự nhầm lẫn xuất hiện ở đâu? Chính xác thì hạn chế là gì?
Có lẽ một vấn đề với biên soạn '(a) => a.address_1' thành một 'returnFunc'.Đang chờ Eric Lippert trả lời câu hỏi này :-) – dasblinkenlight
Nhân tiện, sự khác biệt giữa mã của bạn và 'static R ifNotNull (đối tượng o, Func
@ dasblinkenlight chính xác những gì tôi đang nghĩ. Chuẩn bị cho Lippert trong 3..2..1 ... –