Trong C# 4, khi khởi động từ DynamicObject và overridding TryInvokeMember, làm thế nào người ta có thể xác định xem bất kỳ tham số nào được cung cấp tại trang cuộc gọi đã được chuyển với ngữ nghĩa out hay ref? Tôi có thể thấy một số lĩnh vực tư nhân trong các binder cung cấp có chứa thông tin này (cụ thể là Microsoft.CSharp.RuntimeBinder.ICSharpInvokeOrInvokeMemberBinder.ArgumentInfo tài sản) nhưng nó dường như không thể tiếp cận. Tôi cho rằng thông tin này phải có sẵn ở đâu đó nếu không nó sẽ giới hạn kiến thức của một người về đầu vào cung cấp khá nghiêm trọng.C# 4: Xác định tham số truyền ngữ nghĩa trong các cuộc gọi động
5
A
Trả lời
2
Tôi đã nói chuyện với nhóm DLR về điều đó. Thật không may, câu trả lời là không, thông tin này không có sẵn cho DynamicObject.
Lý do là tham số ref/out rất C# cụ thể. Và các đối tượng động có thể được chia sẻ giữa nhiều ngôn ngữ và không phải tất cả các ngôn ngữ đều có các ký hiệu này. DynamicObject là "call-by-value", vì vậy các đối tượng của bạn có thể được tiêu thụ bởi các API khác nhau.
Các vấn đề liên quan
- 1. PLT Redex: tham số hóa định nghĩa ngôn ngữ
- 2. động đối số định nghĩa trong C#
- 3. UnsafeQueueUserWorkItem và chính xác "không tuyên truyền ngăn xếp cuộc gọi" nghĩa là gì?
- 4. Truyền tham số bảng do người dùng định nghĩa tới sql động, sp_executesql
- 5. Ruby - Giá trị truyền phương thức cuộc gọi của mảng như mỗi tham số
- 6. Có thể có một cuộc gọi phương thức động cho các giá trị tham số mặc định trong Ruby không?
- 7. Xác định chỉ số mảng sau khi gọi hàm
- 8. Truyền tham số ban đầu cho ứng dụng ExtJS 4
- 9. Truyền tham số cho System.EventHandler bằng C#
- 10. C++ 11 ngữ nghĩa "tự động"
- 11. Xác định các số nguyên const tĩnh trong định nghĩa lớp
- 12. Các thông số chưa được truyền trong đường ray 4
- 13. Ngữ cảnh tĩnh trong định nghĩa enum
- 14. C++ 11 Tham chiếu Const VS di chuyển ngữ nghĩa
- 15. Ngữ cảnh chính xác để sử dụng trong các cuộc gọi lại
- 16. Cách hạt nhân xác định chuỗi các cuộc gọi __init
- 17. Các bộ tham số trong Junit 4?
- 18. Xác định tham số kiểu chung bị chặn trong C#
- 19. Cú pháp Java để xác định rõ ràng các đối số chung trong các cuộc gọi phương thức
- 20. Tìm các định nghĩa/tham chiếu tới các thành viên lớp C++ trong Vim
- 21. Tại sao cuộc gọi này đến AddDllDirectory thất bại với "Tham số không chính xác"?
- 22. Đường ray: Truyền tham số có hiển thị: hành động?
- 23. Truyền tham số trong hàm setInterval
- 24. Trong C++ 11, làm cách nào để xác định rằng tham số ngầm định "this" "[[carry_dependency]]"?
- 25. Cách truyền sang tham số chung trong C#?
- 26. Truyền một đối tượng có kiểu không xác định làm tham số trong phương thức Java
- 27. Truyền một toán tử cùng với các tham số khác
- 28. Truyền tham số động ném RuntimeBinderException khi gọi Phương thức từ giao diện Thừa kế
- 29. MyBatis - xác định tham số toàn cầu
- 30. C++ 11 memory_order_acquire và memory_order_release ngữ nghĩa?
Cảm ơn sự giúp đỡ. Tôi đã nghi ngờ rằng nó sẽ không thể xảy ra. –