0
私は監査の作業をしています。属性を使用して、監査に記録する必要のあるパラメータを追加情報としてマークしています。しかし、何らかの理由で、属性が存在するかどうかを確認できないようです。パラメータの属性が表示されない
マイコード:
[Audit(AuditType.GetReport)]
public Stream GetReportStream([AuditParameter] Report report)
{
...
}
[AttributeUsage(AttributeTargets.Parameter)]
public class AuditParameterAttribute : Attribute
{
}
そして、私はそれを取得しようとしているインターセプタ内側:
foreach (ParameterInfo param in invocation.Method.GetParameters())
{
var atts = CustomAttributeData.GetCustomAttributes (param);
if (param.IsDefined (typeof(AuditParameterAttribute), false))
{
attributes.Add (param.Name, invocation.Arguments[param.Position].ToString());
}
}
は私が仕事に何かを取得しようとするいくつかの余分な呼び出しに加える開始。なぜ余分なvar atts
がそこにあるのですか? invocation
変数には呼び出されたメソッドに関する情報があり、パラメータを表すParameterInfoオブジェクトを取得できます。しかし、何を試しても、カスタム属性を得ることはできません。
私はここで間違っていますか?