1

次のセットアップの PostSharp OnMethodBoundaryAspect が与えられた場合、 ortypeof(T1)中にどのように取得しますOnEntryOnExit:

反射を使用しない場合のボーナス ポイント。

側面:

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 に答える