사용하려는 WPF 응용 프로그램이 있습니다..NET에서 리플렉션을 사용하여 생성자를 통해 객체를 생성 한 후 특정 객체를 호출하는 방법은 무엇입니까?
Assembly.LoadFrom
잘 작동하지만 이후 기본 생성자를 호출하려고합니다.
LayerView.MainWindow();
그런 다음 Show
메서드를 호출합니다. 생성 된 인스턴스
assembly.GetTypes();
그 (것)들을 통해 반복하고 그 때 나가 적당한 유형 LayerView.MainWindow
를 찾아 낼 때, 그 때 부르십시오 :
c.getConstructors();
그 (것)들을 통해 루핑하고 나가 맞은 ctor
를 찾아 낼 때, :
ctor.Invoke (null);
하지만 인스턴스를 만든 후에 아무 것도 보이지 않기 때문에 제대로 작동하는지 확실하지 않습니다. 나는 Show
메서드를 호출해야하고 그것이 내가 붙어있는 곳이다. 내가 만든 인스턴스에 액세스하는 방법을 모르겠습니다.
또한 이것을 수행하는 가장 좋은 방법입니까? 맞은 것을 찾기 위해 이것들을 반복하는 것은 꽤 clunky 한 것처럼 보인다. 어쩌면 이것은 Linq
을 사용하여 더 좋게 만들 수 있습니까?
감사합니다.하지만'MainWindow' 타입은 exe 안에 정의되어 있기 때문에 어떻게 사용할 건지, 참고로 추가하지는 않았습니다. –
방금 개체 값을 type.InvokeMember에 전달 했으므로 작동합니다. 감사. –
'Window'또는 Show 클래스가 상속하는 모든 클래스 (Show 메서드가있는 클래스)와 같은 수퍼 유형으로 캐스팅 해 볼 수 있습니다. –