C# - .net 3.5Phương thức thực hiện bất kỳ lúc nào một thuộc tính lớp được truy cập (nhận hoặc đặt)?
Tôi có một nhóm gia đình kế thừa từ cùng một lớp cơ sở. Tôi muốn một phương thức trong lớp cơ sở được gọi bất kỳ lúc nào một thuộc tính trong một lớp bị loại bỏ được truy cập (nhận hoặc thiết lập). Tuy nhiên, tôi không muốn viết mã trong mỗi và mọi thuộc tính để gọi lớp cơ sở ... thay vào đó, tôi hy vọng có một cách khai báo để "chìm" hoạt động này vào lớp cơ sở.
Thêm một số gia vị vào yêu cầu, tôi cần xác định tên của thuộc tính đã được truy cập, giá trị thuộc tính và loại của thuộc tính.
Tôi tưởng tượng giải pháp sẽ là sự kết hợp thông minh của đại biểu, generics và phản ánh. Tôi có thể hình dung việc tạo ra một số kiểu phân bổ ủy nhiệm trong thời gian chạy, nhưng việc lặp lại qua MemberInfo trong hàm tạo sẽ tác động đến hiệu năng nhiều hơn tôi muốn. Một lần nữa, tôi hy vọng có một cách "khai báo" trực tiếp hơn để làm điều này.
Bất kỳ ý tưởng nào được đánh giá cao nhất!
Tôi cũng nên chỉ ra rằng trong khi INotifyPropertyChanged cho phép bạn chuyển tên thuộc tính, nó không mất một nhà khoa học tên lửa để đưa khái niệm thêm một bước nữa và viết phiên bản giao diện của riêng bạn. thông qua. Mặc dù những gì bạn đang đề xuất, trong khi nó có thể âm thanh thông minh trong lý thuyết, sẽ thêm rất nhiều chi phí cho ứng dụng của bạn, và bạn sẽ phải xem xét việc chuyển đổi biên dịch có điều kiện trong mã của bạn. – slugster