Ho vari metodi individuali che devono tutti eseguire le stesse funzioni prima di continuare con la loro implementazione. Ora potrei implementare queste funzioni in ogni metodo, ma mi stavo chiedendo se c'è un modo per sfruttare lo attributes
per fare questo? Come un esempio molto semplice, tutte le chiamate di rete devono verificare la presenza di una connessione di rete.Utilizzo degli attributi per chiamare i metodi
public void GetPage(string url)
{
if(IsNetworkConnected())
...
else
...
}
Questo potrebbe funzionare, ma avrei dovuto chiamare il metodo IsNetworkConnected
per ogni metodo che utilizza la rete e gestire individualmente. Invece, mi piacerebbe fare questo
[NetworkCall]
public void GetPage(string url)
{
...
}
Se la rete non è disponibile, un metodo di errore si chiama invece e GetPage
viene ignorato, altrimenti GetPage
viene richiamato.
Sembra molto simile alla programmazione orientata agli aspetti, ma non voglio implementare un intero framework per alcune chiamate. Questo è più un esercizio di apprendimento che uno di implementazione, quindi ero curioso di sapere come qualcosa del genere sarebbe meglio implementato.
E l'ereditarietà?Fai in modo che tutti derivino da una classe "Network" di base o qualcosa del genere. – gdoron