Một đồng nghiệp và tôi đã xem xét hành vi của new
từ khóa trong C # vì nó áp dụng cho khái niệm ẩn. Từ tài liệu :
Sử dụng công cụ sửa đổi mới để ẩn một cách rõ ràng một thành viên được kế thừa từ một lớp cơ sở. Để ẩn một thành viên được kế thừa, hãy khai báo nó trong lớp dẫn xuất bằng cùng tên và sửa đổi nó với công cụ sửa đổi mới.
Chúng tôi đã đọc tài liệu này và chúng tôi hiểu về cơ bản nó làm gì và làm như thế nào. Những gì chúng tôi không thể thực sự nắm bắt được là tại sao bạn cần phải làm điều đó ngay từ đầu. Công cụ sửa đổi đã có ở đó từ năm 2003 và cả hai chúng tôi đã làm việc với .Net lâu hơn thế và nó không bao giờ xuất hiện.
Khi nào thì hành vi này là cần thiết trong một ý nghĩa thực tế (ví dụ: như được áp dụng cho một trường hợp kinh doanh)? Đây có phải là một tính năng đã vượt qua sự hữu ích của nó hay chỉ đơn giản là nó không đủ phổ biến trong những gì chúng ta làm (cụ thể là chúng ta làm các biểu mẫu web và ứng dụng MVC và một số yếu tố nhỏ WinForms và WPF)? Khi thử từ khóa này và chơi với nó, chúng tôi đã tìm thấy một số hành vi cho phép nó có vẻ hơi nguy hiểm nếu sử dụng sai.
Điều này nghe có vẻ hơi mở, nhưng chúng tôi đang tìm kiếm một trường hợp sử dụng cụ thể có thể được áp dụng cho một ứng dụng kinh doanh thấy công cụ cụ thể này hữu ích.