2010-02-01 5 views
4

IL 방출을 사용하여 서로를 참조하는 두 가지 유형을 정의 할 수있는 것은 방출 :어떻게 내가이 사용하는 반사처럼 뭔가를 정의 할 필요가

public class Foo { 
    public Bar Bar { get; set; } 
} 

public class Bar { 
    public Foo Foo { get; set; } 
} 

어려움이 TypeBuilder.DefineProperty()를 호출 할 때, 나는 전달해야한다는 것입니다 System.Type은 아직 존재하지 않는 속성의 반환 값입니다. 참고 문헌이 한 방향으로 만 간다면 쉽지만 두 가지 방법 모두가 닭고기와 계란 문제를 야기합니다.

Type 대신 TypeBuilder를 사용하여 두 클래스를 동시에 정의한 다음 두 클래스 모두에서 TypeBuilder.CreateType()을 호출하는 오버로드를 찾고 싶습니다. 그러나 나는 그런 것을 보지 않고있다.

이 문제를 해결하는 올바른 방법은 무엇입니까? MSDN

당신은 DefineProperty에 그것을 전달할 수 있습니다

답변

4

하는 TypeBuilder는 형식의 서브 클래스입니다.

+0

와우, 나는 그것을 정말로 몰랐다. 고마워! –

관련 문제