Tôi có nhiều phương thức riêng lẻ cần thực hiện các chức năng tương tự trước khi tiếp tục thực hiện riêng. Bây giờ tôi có thể thực hiện các chức năng này trong mỗi phương pháp, nhưng tôi đã tự hỏi nếu có một cách để khai thác attributes
để làm điều này? Như một ví dụ rất đơn giản, tất cả các cuộc gọi mạng phải kiểm tra kết nối mạng.Sử dụng các thuộc tính để gọi các phương thức
public void GetPage(string url)
{
if(IsNetworkConnected())
...
else
...
}
Phương pháp này sẽ hoạt động nhưng tôi phải gọi phương thức IsNetworkConnected
cho mỗi phương pháp sử dụng mạng và xử lý riêng từng phương pháp. Thay vào đó, tôi muốn làm điều này
[NetworkCall]
public void GetPage(string url)
{
...
}
Nếu mạng không có sẵn, một phương pháp được gọi là lỗi thay vào đó và GetPage
bị bỏ qua, nếu không GetPage
được gọi.
Điều này nghe có vẻ rất giống với Lập trình định hướng khía cạnh, nhưng tôi không muốn triển khai toàn bộ khuôn khổ cho một vài cuộc gọi. Đây là một bài tập học tập nhiều hơn là một bài tập thực hiện, vì vậy tôi đã tò mò muốn làm thế nào một cái gì đó như thế này sẽ được thực hiện tốt nhất.
Còn thừa kế thì sao?Làm cho tất cả chúng bắt nguồn từ một lớp "Mạng" cơ bản hoặc một cái gì đó giống như nó. – gdoron