Usando Atributos para Chamar Métodos

Eu tenho vários métodos individuais que todos precisam executar as mesmas funções antes de continuar com sua própria implementação. Agora eu poderia implementar essas funções em cada método, mas eu queria saber se há uma maneira de explorarattributes para fazer isso? Como um exemplo muito simples, todas as chamadas de rede precisam verificar se há uma conexão de rede.

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

Isso funcionaria, mas eu teria que ligar para oIsNetworkConnected método para cada método que usa a rede e lidar com isso individualmente. Em vez disso, gostaria de fazer isso

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

Se a rede não estiver disponível, um método de erro será chamado eGetPage é ignorado, caso contrárioGetPage é invocado.

Isso se parece muito com a programação orientada a aspectos, mas não quero implementar uma estrutura inteira para algumas chamadas. Este é mais um exercício de aprendizado do que de implementação, então eu estava curioso para saber como algo assim seria melhor implementado.

questionAnswers(3)

yourAnswerToTheQuestion