Używanie atrybutów do metod połączeń

Mam różne indywidualne metody, z których wszystkie muszą wykonywać te same funkcje przed kontynuowaniem własnej implementacji. Teraz mogłem zaimplementować te funkcje w każdej metodzie, ale zastanawiałem się, czy istnieje sposób na wykorzystanieattributes zrobić to? Jako bardzo prosty przykład wszystkie połączenia sieciowe muszą sprawdzać połączenie sieciowe.

public void GetPage(string url)
{
   if(IsNetworkConnected())
      ...
   else
      ...           
}

To by działało, ale musiałbym zadzwonić doIsNetworkConnected metoda dla każdej metody, która korzysta z sieci i obsługuje ją indywidualnie. Zamiast tego chciałbym to zrobić

[NetworkCall]
public void GetPage(string url)
{
   ...
}

Jeśli sieć jest niedostępna, zamiast tego wywoływana jest metoda błędu iGetPage jest ignorowane, w przeciwnym razieGetPage jest wywoływany.

Brzmi to bardzo podobnie do programowania zorientowanego na Aspect, ale nie chcę implementować całej struktury dla kilku połączeń. Jest to bardziej ćwiczenie edukacyjne niż implementacyjne, więc byłem ciekawy, jak coś takiego będzie najlepiej wdrożone.

questionAnswers(3)

yourAnswerToTheQuestion