Использование атрибутов для вызова методов
У меня есть различные индивидуальные методы, которые должны выполнять одни и те же функции, прежде чем продолжать свою собственную реализацию. Теперь я мог реализовать эти функции в каждом методе, но мне было интересно, есть ли способ использоватьattributes
сделать это? В качестве очень простого примера все сетевые вызовы должны проверять сетевое соединение.
public void GetPage(string url)
{
if(IsNetworkConnected())
...
else
...
}
Это бы сработало, но мне пришлось бы позвонитьIsNetworkConnected
метод для каждого метода, который использует сеть и обрабатывать его индивидуально. Вместо этого я хотел бы сделать это
[NetworkCall]
public void GetPage(string url)
{
...
}
Если сеть недоступна, вместо нее вызывается метод ошибки иGetPage
игнорируется, в противном случаеGetPage
вызывается.
Это очень похоже на Аспектно-ориентированное программирование, но я не хочу реализовывать целую структуру для нескольких вызовов. Это скорее учебное упражнение, чем реализация, поэтому мне было любопытно, как лучше реализовать что-то подобное.