A bit of a weird question but I was wondering anyone could help...
In C++, I could do something like this
class MyOtherClass { private:
You're mixing things up. In C#, assignment statements such as
logger = _logger;
copy references, not objects. After this statement executes, there is still (at most) only one MyLogger - it's now referred to by two object variables.
MyLogger