Trong C# bạn có thể tạo getter/setters theo một cách đơn giản hơn các ngôn ngữ khác:Bạn có thường xuyên thấy sự lạm dụng của các thuật toán/giải quyết nhanh của C# không?
public int FooBar { get; set; }
Điều này tạo ra một biến tin nội bộ mà bạn không thể giải quyết trực tiếp, với tài sản bên ngoài 'foobar' để truy cập trực tiếp .
Câu hỏi của tôi là - tần suất bạn thấy điều này bị lạm dụng? Dường như nó có tiềm năng cao để vi phạm các thực hành tốt nhất đóng gói thường xuyên. Đừng hiểu lầm tôi, tôi sử dụng nó một cách thích hợp và một phần biến thể của nó cho các loại thuộc tính chỉ đọc, nhưng những kinh nghiệm khó chịu của bạn với nó từ các tác giả khác trong cơ sở mã của bạn là gì?
Làm rõ: định nghĩa lạm dụng dự định thực sự sẽ tạo thuộc tính như vậy khi biến riêng tư phù hợp.
Bị lạm dụng chính xác như thế nào? điều lạm dụng duy nhất tôi có thể nghĩ đến là đặt giá trị của phương thức làm việc vào một tài sản, và đó là khá nhỏ – annakata
Bạn có thể đưa ra một ví dụ mà bạn cho rằng việc sử dụng các thuộc tính tự động không thích hợp không? –
@annakata - mà bạn ** không thể ** thực hiện với thuộc tính được tự động triển khai. –