Я хочу предоставить некоторый контекст для людей, так как поначалу меня смутил ваш ответ JC.
public Program {
//
// Static constructor
//
static Program() {
// Set up Ninject
var kernel = new StandardKernel();
// Register bindings
RegisterServices(kernel);
// Set up Ninject logging config
NLog.Config.ConfigurationItemFactory.Default.CreateInstance =
(type) => kernel.TryGet(type);
// Continue on!
}
private static void RegisterServices(IKernel kernel) {
// bind services!
kernel.Bind<IMyClass>().To<MyClass>();
}
}
[Target("Custom")]
public class CustomTarget : TargetWithLayout {
private IMyClass _myClass;
public CustomTarget(IMyClass myClass) {
// This will be injected!
_myClass = myClass;
}
}
Здесь показано, как настроить создание экземпляра и как все это сочетается с NLog. Надеюсь, что это помогает другим людям!