If I had a COM object (instanced with Activator.CreateInstance) that exposes other objects as properties, like
Object1.Object2.Object3
How can I get Object3 if I only have an instance of Object1 using reflection?
How can I get Object3 if I only have an instance of Object1 using reflection?
That's impossible. You need to first get the Object2 instance via reflection and only after that you can access Object3. That might have been possible if you had some other object that is holding reference to Object3.
By the way if you are using .NET 4.0 or later you may find that the dynamic keyword might save you lots of hassles when dealing with COM objects and reflection. Check it out here: http://msdn.microsoft.com/en-us/library/vstudio/dd264736.aspx
dynamic late binding in 4.0, but unfortunately, I'm on .NET 3.5... :(