0

次のようなプロパティがあるとします。

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Method, AllowMultiple = false,  Inherited = true)]
public class LogScopeAttribute : Attribute
{ 
    public string Level { get; private set; }

    public LogScopeAttribute(string level)
    {
        Level   = level;
    }
}

次のようなコンテキストで使用されます。

public class Cat
{
    [Log.Scope("Important")]
    public void Walk()
    {
    }

    [Log.Scope("Trivial")]
    public void Sit()
    {
    }
}

メソッドとメソッドでプロパティLevelを使用するにはどうすればよいですか? 流暢なインターフェースしか使えないようですが、そのせいで属性を参照できません。BeforeAfterLogScope

public class LoggingAmender : Amendment<object, object>
{
    public LoggingAmender()
    {
        Methods.Where( m => [...] )
            .Before(LogScope.LogMethodBefore); // how can I refer to 'Level' of LogScope here?
    }
}
4

1 に答える 1