2010-05-06 30 views
5

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

5

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.

6

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!

0

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).

Các vấn đề liên quan