获取抛出异常的方法的参数名称和值

时间:2014-03-21 05:48:55

标签: c# exception-handling postsharp

我有两个代码

的类
[ExceptionAspect]
public class BaseService
{
    public void Method1(string email)
    {
        new BusinessClass().Method2(1, email, false);
    }
}

public class BusinessClass
{
    public void Method2(int count, string email, bool ignoreCase)
    {
        throw new NotImplementedException();
    }
}

我的异常方面类有以下代码,使用此代码我可以获取 Method1 的参数名称和值,而不是 Method2

[Serializable]
public class ExceptionAspect : OnExceptionAspect
{
    public override void OnException(MethodExecutionArgs eventArgs)
    {
        object[] args = null;
        if (eventArgs.Arguments != null)
            args = eventArgs.Arguments.ToArray();

        var parameters = eventArgs.Method.GetParameters();
    }
}

现在我想要的是获取并保存方法参数名称和异常目标站点的值,即count = 1,email = email和ignoreCase = false,方法名称为Method2。

1 个答案:

答案 0 :(得分:1)

将属性添加到BusinessClass。

[ExceptionAspect]
public class BusinessClass