Здесь есть два варианта.
Если вы не используете его по-другому, внедрение метода будет работать - вы можете настроить методы для вызова экземпляра при его создании. Там нет гарантии упорядочения между методами, если вы используете несколько методов инъекции, но это работает. Это работает, только если метод постобработки является методом созданного вами объекта.
Через API вы делаете:
container.RegisterType<IFoo, Foo>(
// ... constructor, property configuration
new InjectionMethod("FooPostProc"));
или в XML:
<register type="IFoo" mapTo="Foo">
<method name="FooPostProc" />
</register>
Вы также можете передавать параметры в метод так же, как и в конструктор.
Другим вариантом является использование недокументированного, но включенного, BuilderAwareStrategy. Вам нужно написать небольшое расширение Unity, чтобы добавить стратегию в контейнер.
Как только вы это сделаете, вы сможете реализовать интерфейс Microsoft.Practices.ObjectBuilder2.IBuilderAware. В конце процесса разрешения контейнер будет вызывать IBuilderAware.OnBuiltUp. Опять же, это требует, чтобы вы реализовали метод для разрешаемого типа.
Например:
public class myClass : IBuilderAware
{
.. regular class implementation..
public void OnBuiltUp(NamedTypeBuildKey buildkey) {}
public void OnTearingDown() {}
}
Если метод постобработки не относится к разрешаемому объекту, самым быстрым будет использование InjectionFactory (только API, без XML) и делать все, что вы захотите.