Question

How can I invoke/call an object's method from another object method when both objects are created dynamically?

The situation is as follows:

I have two objects created dynamically each object correspond to a different class

objA
   Method1A()
objB
   Method1B()

I want to call objA's method1A() from objB's method1B().

How can I accomplish that / what approach do you recommended ?

Was it helpful?

Solution

In order to invoke an instance method on some type you need an instance of that type. So if Method1B is supposed to invoke an instance method on objA you could pass this instance as parameter to the method:

public void Method1B(ObjA objA)
{
    objA.Method1A();
}

OTHER TIPS

If it is possible that "objA is created after objB" then you have a cycle. You can't solve that with separate assemblies now, except when you can avoid cyclic declarations; then you can compile one assembly without the cyclic call, and then recompile with it, after the other assemblies have been built. You could try the same here, but unless you know the cycles and where you can temporarily break them, you have some analysis to do.

Note this question asks for and gets approaches similar to mine for cyclic dependencies between normal assemblies.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top