문제

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 ?

도움이 되었습니까?

해결책

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();
}

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top