I’m injecting my dependencies into my classes fine, but I’m wondering if it’s possible to get the class name I’m injecting into?
For example:
Bind<ISomething>.ToMethod(c => new Something([GIVE INJECTING *TO* CLASS NAME]));
So, if I had:
public class Blah{
public Blah(ISomething something) { /**/ }
}
When injecting Ninject would in effect call:
new Blah(new Something("Blah"));
Can this be done?
Yes, it can be done. You use the
IContextyou’re given in theToMethodmethod to get the name of the type you’re being injected into like this:Which uses this little helper method (which could also be turned into a nice extension method):