Tôi hiện đang làm việc trên một gói SSIS và sau lần thứ 80 sử dụng FireInformation bên trong một Tác vụ Script, tôi phải tự hỏi: tại sao phương pháp này yêu cầu bạn chuyển vào boolean ref làm tham số cuối cùng? Tài liệu không nêu rõ bất cứ điều gì về cách bạn nên trả lời giá trị khi phương thức trả về. Am i thiếu cái gì ở đây?SSIS: Tò mò: tại sao tham số cuối cùng trong phương thức FireInformation là một bool ref?
Trả lời
Động cơ chạy theo thời gian có khả năng thay đổi “fireAgain” tham số và ngăn chặn sự bắn thêm các sự kiện. Để thực hiện điều này, thời gian chạy phải có quyền truy cập để sửa đổi biến. Nó chỉ có thể làm điều này nếu tham số được truyền bởi ref.
Đây là tham số vô tuyến.
Vì việc kích hoạt sự kiện có thể tốn kém, động cơ chạy thời gian cung cấp cơ chế để ngăn chặn các sự kiện mà bạn không quan tâm. Mỗi phương thức kích hoạt sự kiện đều có tham số FireAgain. Nếu giá trị của biến này là false, sau khi phương thức trả về, người gọi sẽ không kích hoạt lại sự kiện này trong suốt thời gian thực hiện hiện tại. Source
Điều đó vẫn không giải thích tại sao lựa chọn thiết kế để biến nó trở thành tham số ref. Đặc biệt xem xét rằng vì người gọi là người đã gọi phương thức, thì người gọi đã biết giá trị của tham số boolean. Nó làm cho không có ý nghĩa với tôi. – enriquein
- 1. Một cách tò mò để chuyển một tham số đến một phương thức
- 2. Sự tò mò của phương thức let_ property
- 3. Eclipse tạo ra các tham số phương thức cuối cùng
- 4. Sự tò mò: Tại sao biểu thức <...> khi được biên dịch chạy nhanh hơn một DynamicMethod tối thiểu?
- 5. Tại sao các phương thức lặp lại không thể tham số 'ref' hoặc 'out'?
- 6. Tò mò về get_form_kwargs trong FormView
- 7. MySQL: Tổng số GROUP BY WITH ROLLUP tò mò
- 8. Các tham số Boolean trong phương thức. Tại sao không?
- 9. Trường hợp tò mò của segfault
- 10. .NET: bool vs enum dưới dạng tham số phương thức
- 11. Tại sao phương pháp TryParse sử dụng một tham số ra ngoài và không phải là một ref
- 12. Tại sao cuối cùng là lớp Chuỗi?
- 13. java @SafeVarargs tại sao các phương thức riêng tư cần phải là kết quả cuối cùng
- 14. Tò mò về việc thực hiện Control.Invoke()
- 15. Tại sao một đánh dấu các biến cục bộ và các tham số của phương thức là "cuối cùng" trong Java?
- 16. Một trường hợp tò mò với sự tham khảo và các thành viên lớp tĩnh
- 17. Tại sao android.os.Bundle là một lớp học cuối cùng?
- 18. Tò mò: Tại sao cú pháp "ném <SomeSpecific> Exception" được yêu cầu trong Java một mình?
- 19. Trong C# 4.0 tại sao không thể tham số ngoài trong một phương thức là biến thể?
- 20. Tại sao một Java enum không thể là cuối cùng?
- 21. Tò mò lặp đi lặp lại mẫu - biến thể
- 22. Tại sao lớp java.util.Scanner được khai báo là 'cuối cùng'?
- 23. Tại sao `&` (dấu và) được đặt trước một số tham số phương thức?
- 24. Tại sao các loại suy luận/tham số lambdas ẩn danh trên các tham số out/ref?
- 25. Hiệu quả của việc khai báo biến cuối cùng trong các phương thức là gì?
- 26. Tại sao phải có phương thức ClassInitialize là tĩnh?
- 27. Tại sao compareTo trên một Enum cuối cùng trong Java?
- 28. Tại sao phương thức GET nhanh hơn POST trong HTTP?
- 29. java tại sao phải bằng tham số đầu vào phương thức là Object
- 30. Tại sao khai báo một đối số hàm để là kết quả cuối cùng?
Bạn vừa mới hồi sinh một câu hỏi từ 4 năm trước: P – enriquein