鉴于以下设置的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>()
{
}
答案 0 :(得分:4)
我没有使用PostSharp多年,但它看起来就像你只需要使用Method
属性:
如果执行的方法是通用的或者其声明类型是通用的,则current属性包含正在执行的通用实例。
因此,您应该能够使用MethodBase.GetGenericArguments
来获取类型参数。