Say мы имеем свойство как это:Использование атрибутов с параметрами в второстепенным
[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
в моем Before
и After
методы? Похоже, вы можете использовать только свободный интерфейс, но из-за этого я не могу ссылаться на атрибут LogScope
.
public class LoggingAmender : Amendment<object, object>
{
public LoggingAmender()
{
Methods.Where(m => [...])
.Before(LogScope.LogMethodBefore); // how can I refer to 'Level' of LogScope here?
}
}