Tôi có một lớp được sử dụng trong ứng dụng máy khách và trong ứng dụng máy chủ. Trong ứng dụng máy chủ, tôi thêm một số chức năng vào các phương thức mở rộng máng lớp. Hoạt động tuyệt vời. Bây giờ tôi muốn nhiều hơn một chút:Phương pháp mở rộng ảo?
Lớp học của tôi (B) kế thừa từ một lớp khác (A).
Tôi muốn đính kèm hàm ảo vào A (giả sử Execute()), sau đó triển khai hàm đó trong B. Nhưng chỉ trong máy chủ. Phương thức Execute() sẽ cần phải làm những thứ chỉ có thể thực hiện trên máy chủ, sử dụng các kiểu mà chỉ máy chủ biết.
Có nhiều loại kế thừa từ A giống như B, và tôi muốn triển khai Thực hiện() cho mỗi người trong số họ.
Tôi đã hy vọng tôi có thể thêm phương thức mở rộng ảo vào A, nhưng ý tưởng đó dường như không bay. Tôi đang tìm cách thanh lịch nhất để giải quyết vấn đề này, có hoặc không có phương pháp mở rộng.
Nhờ Marc. Tôi sẽ thực hiện một cái gì đó như thế này. Đó là một chút khó khăn hơn cho tôi, khi tôi sắp xếp các lớp này, và gửi chúng qua dây từ máy chủ đến máy khách và ngược lại. Vì vậy, DI truyền thống có thể hơi phức tạp, nhưng tôi đoán tôi có thể thực hiện một máy chủ tương đương với lớp B, (có thể kế thừa từ B), và khi máy khách gửi máy chủ một thể hiện của B, tôi sẽ phải thay thế nó bằng một phiên bản mới của ServerB. – Lucas
Cách tiếp cận đăng ký hoạt động OK với tuần tự hóa. Tôi sử dụng phương pháp đó để chia sẻ lắp ráp với các đối tượng WCF ... –