【发布时间】:2012-10-24 01:23:59
【问题描述】:
我有各种单独的方法,它们都需要执行相同的功能,然后再继续自己的实现。现在我可以在每种方法中实现这些功能,但我想知道是否有办法利用attributes 来做到这一点?作为一个非常简单的示例,所有网络调用都必须检查网络连接。
public void GetPage(string url)
{
if(IsNetworkConnected())
...
else
...
}
这可行,但我必须为每个使用网络的方法调用IsNetworkConnected 方法并单独处理它。相反,我想这样做
[NetworkCall]
public void GetPage(string url)
{
...
}
如果网络不可用,则调用错误方法并忽略GetPage,否则调用GetPage。
这听起来很像面向方面的编程,但我不想为几个调用实现一个完整的框架。这更像是一种学习练习而不是实施练习,所以我很好奇如何最好地实施这样的事情。
【问题讨论】:
-
继承呢?让它们都派生自一个基本的“网络”类或类似的东西。
标签: c# reflection architecture attributes aop