2012-09-19 5 views
0

내 목표는 내 프로젝트 API에 대한 "보기 종속성"을 만드는 것입니다. SQL Management Studio에서 이러한 개체를 사용하는 사용자와 이러한 개체가 종속되어있는 개체를 보여주는 데이터베이스 개체에 대해 "종속성보기"방법과 비슷합니다..NET을 사용한 API 의존성

그래서 내 NameSpace1.Class1.Method1이 NameSpace2.Class1.Method2를 소비하면 NameSpace1.Class1.Method1에 대해 "보기 종속성"을 사용할 때 NameSpace2.Class1.Method2가 NameSpace1.Class1 방법 1은 의존적이다.

나는 리플렉션을 알고 있으며, 런타임시 메소드리스트를 얻는 방법/사용법을 알고 있어야한다. 문제의 메서드에서 호출되는 다른 메서드를 추출하는 방법을 찾고 있습니다. 이 방향의 모든 포인터가 감사하겠습니다.

+0

잘 모르겠습니다. 이전에 컴파일 된 어셈블리를 가리키는 도구를 만들고 유형/메서드 목록과 호출 그래프를 보여줍니다. –

답변

1

각 메서드의 각 클래스/인수에 대한 모든 속성/메서드를 가져옵니다.이 메서드는 이미 .NET Framework의 일부인 코드를 사용하여 일부 종속성에 대한 정보를 가져옵니다.

나머지를 얻으려면 각 메서드의 IL을 가져오고 MethodBase.GetMethodBody으로 시작하여 호출되는 것을 확인해야합니다. IL을 구문 분석 할 수있는 기존 프로젝트가 있습니다 (예 : Traverse a c# method and anazlye the method body 참조). 주의 깊게 ILSpy의 코드베이스를 분석하면이 오픈 소스 프로젝트이기 때문에

0

, 당신은 오픈 소스 라이센스 다음의 코드를 재사용 할 수 있습니다, 유사한 기능 (사용 분석기)를 통해

https://github.com/icsharpcode/ILSpy

을 올 수도 .

관련 문제