2012-08-07 3 views
1

두 개체를 모두 동적으로 만들면 다른 개체 메서드에서 개체의 메서드를 호출하거나 호출 할 수 있습니까? 다음과 같이동적 개체의 메서드 호출

상황은 다음과 같습니다

나는 동적으로 각 객체 생성 된 두 개체 내가 objAmethod1A()objB에서의 method1B()를 호출 할 다른 클래스

objA 
    Method1A() 
objB 
    Method1B() 

에 해당합니다.

어떻게 그/어떤 접근 방법을 권장 할 수 있습니까?

답변

2

일부 유형에서 인스턴스 메소드를 호출하려면 해당 유형의 인스턴스가 필요합니다. Method1BobjA에서 인스턴스 메소드를 호출하도록되어 그렇다면 당신은 메서드에 매개 변수로이 인스턴스를 전달할 수 : 다음주기가 "objAobjB 후 작성"가능성이있는 경우

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

objA가 objB 뒤에 생성 된 경우이 방법이 구현되지 않는다고 생각합니다. –

+0

@ armadillo.mx 가능하다면주기가 있습니다. 순환 선언을 피할 수있는 경우를 제외하고는 이제 별도의 어셈블리로는이를 해결할 수 없습니다. 순환 호출없이 하나의 어셈블리를 컴파일 한 다음 다른 어셈블리를 작성한 후에 다시 컴파일 할 수 있습니다. 여기에서도 같은 방법을 시도해 볼 수는 있지만 사이클을 알고 일시적으로 중단 할 수없는 경우에는 몇 가지 분석이 필요합니다. –

+1

@Mark Hurd, 네가 맞아. 나는 다른 접근 방식이 필요하다고 생각해. 고마워! –

1

합니다. 순환 선언을 피할 수있는 경우를 제외하고는 이제 별도의 어셈블리로는이를 해결할 수 없습니다. 순환 호출없이 하나의 어셈블리를 컴파일 한 다음 다른 어셈블리를 작성한 후에 다시 컴파일 할 수 있습니다. 여기에서도 같은 방법을 시도해 볼 수는 있지만 사이클을 알고 일시적으로 중단 할 수없는 경우에는 몇 가지 분석이 필요합니다.

참고 this question은 일반 어셈블리 간의 주기적 종속성에 대해 묻습니다.