Я хочу иметь возможность применить атрибут к интерфейсу, чтобы к каждому методу в любом классе, который реализует этот интерфейс, был применен атрибут к нему.
Я предполагал, что это будет выглядеть примерно так:
[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
{
...
}
Что я пропускаю / делаю неправильно?