Как настроить необязательный перехват метода с помощью Ninject?

Предположим, у меня есть класс, в котором я хочу иногда * (но теперь всегда) перехватывать некоторые (но не все) ) методы. Насколько я понимаю, это можно сделать либо, скажем, с помощью InterceptAround () в моем модуле Ninject (в коде более высокого уровня), либо с помощью атрибута, производного от InterceptAttribute в этих методах (в уровень реализации).

Мне не очень нравится первый способ сделать это, потому что он требует, чтобы потребитель знал детали, будет много классов с множеством методов. Но мне тоже не нравится второй способ, так как я не вижу, как отключить (или, скорее, не включить) перехват, поскольку атрибут слит с кодом.

Есть ли какой-нибудь известный подход к решить эту проблему?


*: на время существования приложения.

5
задан chase 12 August 2011 в 12:41
поделиться