获取应用于Generic Method的PostSharp OnMethodBoundaryAspect的泛型参数

时间:2013-02-08 08:13:08

标签: c# postsharp

鉴于以下设置的PostSharp OnMethodBoundaryAspect,如何在typeof(T1)OnEntry期间获得OnExit

没有使用反射的奖励积分。

方面:

public class MyOnMethodBoundaryAspect : OnMethodBoundaryAspect
{
    public override void OnEntry(MethodExecutionArgs args)
    {   
        //args.??? -- How to get typeof(T1)
    }
}

方式:

[MyOnMethodBoundaryAspect]
public void Foo<T1>()
{

}

1 个答案:

答案 0 :(得分:4)

我没有使用PostSharp多年,但它看起来就像你只需要使用Method属性:

  

如果执行的方法是通用的或者其声明类型是通用的,则current属性包含正在执行的通用实例。

因此,您应该能够使用MethodBase.GetGenericArguments来获取类型参数。