IdパラメーターにCacheType属性のアノテーションが付けられたAPIメソッドがあります
public Object Get([CacheType(CacheTypes.Venue)]int Id)
{
....
}
ActionFilterAttribute内のパラメーター属性の値を読み取ることはできますか?
public class CacheOutputAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
//read CacheType value
}
}
現在実行されているメソッドのパラメータのコレクションにアクセスするには、
actionContext.ActionDescriptor.GetParameters()
のコレクションを繰り返し処理して、HttpParameterDescriptor
必要なパラメーターを見つけることができます。名前、インデックス、または適切と思われる方法でそれを行うことができます。
次に、GetCustomAttributes<TClass>()
タイプのオブジェクトで定義されたメソッドを使用してHttpParameterDescriptor
、パラメーターがタイプの属性でマークされているかどうかを確認できますTClass
。値を確認するために属性のインスタンスが必要な場合は、結果の属性のコレクションから取得するだけです(見つかった場合)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加