【发布时间】:2016-03-22 08:36:35
【问题描述】:
在类库中,我正在尝试使用类库中的属性处理异常。没有 AOP (PostSharp) 有办法吗?
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public class HandleError : Attribute
{
public void OnException(){
try {
}
catch (Exception) {
}}
}
我想像这样装饰属性。
[HandleError]
public void SampleMethod()
{
throw new Exception();
}
【问题讨论】:
-
你即将拿起反射枪瞄准你的脚......
-
@DiligentKeyPresser 是什么意思?请有意义
-
简单地说,你不能轻易。您可以使用来自另一个库(例如 Spring.NET)的 AOP。唯一的区别是 Spring.NET 在运行时工作,而 Postsharp 在编译时工作。
-
您甚至可以在编译时使用 Fody 进行一些代码重写,例如 PostSharp。
-
请注意,如果您只是想做一些日志记录,而不是真正捕获异常,那么您可以简单地添加一个FirstChanceException 处理程序。
标签: c# error-handling