1

给定以下设置的 PostSharp OnMethodBoundaryAspect,我如何typeof(T1)OnEntryor期间获得OnExit

不使用反射的奖励积分。

方面:

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

方法:

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

}
4

1 回答 1

4

我已经很久没有使用 PostSharp 了,但看起来你只需要使用该Method属性:

如果执行的方法是泛型的或其声明类型是泛型的,则当前属性包含正在执行的泛型实例。

所以你应该可以MethodBase.GetGenericArguments用来获取类型参数。

于 2013-02-08T08:16:09.407 回答