Uso de atributos para llamar a métodos

Tengo varios métodos individuales que todos necesitan realizar las mismas funciones antes de continuar con su propia implementación. Ahora podría implementar estas funciones en cada método, pero me preguntaba si hay una manera de explotarattributes ¿para hacer esto? Como un ejemplo muy simple, todas las llamadas de red tienen que verificar si hay una conexión de red.

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

Esto funcionaría, pero tendría que llamar alIsNetworkConnected Método para cada método que utiliza la red y manejarlo individualmente. En su lugar, me gustaría hacer esto

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

Si la red no está disponible, en su lugar se llama a un método de error yGetPage se ignora, de lo contrarioGetPage se invoca

Esto se parece mucho a la Programación Orientada a Aspectos, pero no quiero implementar un marco completo para algunas llamadas. Esto es más un ejercicio de aprendizaje que uno de implementación, así que tenía curiosidad por saber cómo se implementaría mejor algo como esto.