Я хочу иметь возможность применять атрибут к интерфейсу, чтобы к каждому методу в любом классе, реализующем этот интерфейс, применялся атрибут.
Я предполагал, что это будет выглядеть примерно так:
[Serializable]
[AttributeUsage(AttributeTargets.All, Inherited = true)]
public sealed class TestAttribute : OnMethodBoundaryAspect
{
...
}
Тем не менее, когда я применяю его к интерфейсу, как показано ниже, код OnEntry/OnExit в атрибуте никогда не используется, когда метод вызывается в классе, реализующем интерфейс:
[Test]
public interface ISystemService
{
List<AssemblyInfo> GetAssemblyInfo();
}
Если я применяю атрибут в самом реализующем классе, как показано ниже, он работает нормально:
[Test]
public class SystemService : ISystemService
{
...
}
Что я упускаю/делаю неправильно?