Is there a way so that I can implement my dependencies so that they will be hidden from children of Service ? Is there an IoC container that allows me to use private properties to inject my dependencies ?

You might have to switch things around a bit. I can't tell if you use Service as the service container, or if it then injects those into your current object. If it's the former, change "current.Logger.Log" to "Services.Logger.Log".
–
IanMar 11 '12 at 13:41

This wont compile as-is. Logger is not a member of System.Object. This would most likely have to be a generic extension method where T is constrained to some interface which the services all implement.
–
MattDaveyMar 11 '12 at 15:14

It doesn't have to be generic or constrained, it's a simple extension method. object would be replaced with what ever type or supertype he chooses, but that wasn't specified in the original question, so...
–
IanMar 12 '12 at 14:55