Bạn có nghĩ rằng loại động mới cho C# là một nhược điểm nghiêm trọng liên quan đến lợi thế của một ngôn ngữ được đánh máy mạnh hoặc bạn có nghĩ rằng những lợi thế (như nhận được những phản xạ nặng nề) lớn hơn rủi ro?Loại động C# - trời hay địa ngục?
Trả lời
Việc sử dụng chính từ khóa động dường như là tương tác với ASP.NET, nơi bạn đang làm việc với ngôn ngữ gõ nhẹ như Javascript, hoặc để chuyển các tham số bên trong các lớp trợ giúp ASP.NET MVC trong một khung nhìn.
Tôi không nghĩ rằng bất kỳ lập trình viên C# có kinh nghiệm nào sẽ bắt đầu sử dụng nó để thay thế hệ thống kiểu và nếu họ đã bị bắn xuống khá nhanh.
Vì nó không được sử dụng ở những nơi sai, tôi nghĩ đó là một bổ sung tuyệt vời cho ngôn ngữ và khuôn khổ. Để sử dụng năng động chỉ vì lười biếng của bạn là một điều xấu nhưng khi bạn thực sự cần nó (COM, tương tác với javascript và những gì có bạn vv) nó tuyệt vời!
Nếu được sử dụng một cách tiết kiệm và cẩn thận, tôi thấy đó là một bổ sung có giá trị. Như @ JWL_ đã đề cập, làm COM trễ ràng buộc trong C# là đau đớn trước khi năng động.
Run-time overload resolution là một khu vực khác nơi năng động chiếu sáng. Khi bạn muốn xử lý hậu duệ của một loại cơ sở đa hình và bạn không kiểm soát hệ thống phân cấp, điều này loại bỏ sự cần thiết cho một tuyên bố chuyển đổi lớn với đúc. Lưu ý rằng bạn có thể bẫy ngoại lệ thời gian chạy cụ thể.
Tôi đã chạy vào điều này khi triển khai TrackingParticipant.Track trong WF4. Mã của bạn cần phải biết loại thời gian chạy của TrackingRecord (see the partial hierarchy).
- 1. Địa chỉ WCF Địa ngục?
- 2. Alternatives/Công cụ cho #define địa ngục C/C++
- 3. mã hóa địa ngục Đức ký tự đặc biệt
- 4. Làm thế nào để tránh địa ngục dữ liệu/sự kiện trên màn hình phức tạp?
- 5. hamcrest Generics địa ngụC# 2: iterableWithSize cho errror "không áp dụng cho các đối số"
- 6. Mặt trời là nguồn sáng sử dụng opengl và C++
- 7. Tôi tiếp tục nghe về địa ngục DLL - đây là gì?
- 8. Làm thế nào để giải quyết Antlr3 phụ thuộc địa ngục
- 9. Làm thế nào để ngăn chặn địa ngục tab với Visual Studio và gỡ lỗi FireFox?
- 10. lệnh adb địa ngục (không phải là một lỗi đánh máy)
- 11. C#: Đúc các loại động
- 12. Chuyển đổi loại động C#
- 13. OpenGL: Tạo hộp bầu trời?
- 14. Thuật toán đường chân trời
- 15. Làm thế nào để phát hiện Mặt trời từ bầu trời không gian trong OpenCv?
- 16. C++ tự động không tên một loại
- 17. Cách tính thời gian mặt trời mọc và mặt trời lặn cho ngày hiện tại với Delphi
- 18. Merge nền trời xa, chia để trị
- 19. Nhận bản địa hóa chuỗi động WP8 C#
- 20. Cách tính góc của mặt trời phía trên đường chân trời bằng cách sử dụng pyEphem
- 21. C# Math.Có lỗi hay không?
- 22. Địa ngục classpath là gì và liệu nó có thực sự là một vấn đề đối với Java không?
- 23. vết đen mặt trời Rails khác biệt giữa: văn bản một: string trường loại
- 24. loại séc có loại con hay không trong Magento
- 25. python: tìm hiểu xem có đang chạy trong trình bao hay không (ví dụ: hàng đợi động cơ lưới mặt trời)
- 26. Giờ clock_gettime là giờ UTC hay múi giờ địa phương?
- 27. Mặt trời mọc/đặt tính toán
- 28. C#: Cách sử dụng Trình chuyển đổi loại để bản địa hóa các enums
- 29. Chức năng loại API Google Địa điểm ..
- 30. đối tượng JSON Deserialize động có tên trong C# (sử dụng JSON.Net hay cách khác)