내 개체 브라우저에서 참조 된 라이브러리의 모든 메서드를 볼 수 있습니다. 이러한 모든 메서드를 텍스트 파일로 내보내려고합니다. 어셈블리의 모든 메서드 이름을 내보내려면 어떻게해야합니까?
또한 dotPeek에 액세스 할 수 있지만 소프트웨어에서 내보내기 기능을 찾을 수 없습니다.
내 개체 브라우저에서 참조 된 라이브러리의 모든 메서드를 볼 수 있습니다. 이러한 모든 메서드를 텍스트 파일로 내보내려고합니다. 어셈블리의 모든 메서드 이름을 내보내려면 어떻게해야합니까?
또한 dotPeek에 액세스 할 수 있지만 소프트웨어에서 내보내기 기능을 찾을 수 없습니다.
나는 당신이 Visual Studio에서 그것을 할 수있는 방법을 모르겠어요 인정 있어요,하지만 프로그래밍 방식으로 당신은 반사를 사용할 수 있습니다
ETASystem.IO.File.WriteAllLines(myFileName,
System.Reflection.Assembly.LoadFile(myDllPath)
.GetType(className)
.GetMethods()
.Select(m => m.Name)
.ToArray());
: 나는 100 % 아니에요
당신이 스크린 샷의 방법이나 내가 두 번째 변종으로 업데이트 한 DLL에있는 모든 방법을 원하는 경우 :
System.IO.File.WriteAllLines(myFileName,
System.Reflection.Assembly.LoadFile(myDllPath)
.GetTypes()
.SelectMany(t => t.GetMethods())
.Select(m => m.Name)
.ToArray());
당신은 주어진 어셈블리 유형/방법의 목록을 얻으려면 PowerShell을 사용할 수 있습니다.
$AssemblyList = [System.AppDomain]::CurrentDomain.GetAssemblies();
foreach ($Type in $AssemblyList[5].GetTypes()) {
$MethodList = $Type.GetMethods();
foreach ($Method in $MethodList) {
$Type.Name + ' ' + $Method.Name;
}
}
또한 특정 파일 경로에 반영 전용로드를 수행 할 수 있습니다
$Assembly = [System.Reflection.Assembly]::ReflectionOnlyLoadFrom('c:\path\to\assembly.dll');
foreach ($Type in $Assembly.GetTypes()) {
$MethodList = $Type.GetMethods();
foreach ($Method in $MethodList) {
$Type.Name + ' ' + $Method.Name;
}
}
PowerShell이 OP 질문과 관련되는 방법은 무엇입니까? –
"어셈블리의 모든 메서드 이름을 내보내려면 어떻게합니까?"라는 제목의 제목을 읽으십시오. 또한 OP의 목표는 다음과 같습니다. "이 모든 메서드를 텍스트 파일로 내보내려고합니다. –
흠 .. C# 태그를 읽으십시오.하지만 어쩌면 누락 된 것이 있습니다 ... –
이 SO 질문에서 존 소총의 대답은 당신을 도울 것입니다 : http://stackoverflow.com/questions/18905236/how-to-figure-out-all-with-custom-attribute- –
@ SonerGönül VS 2012 기능 관점에서 묻는 질문이기 때문에 이것이 진정한 복제인지 확실하지 않습니다. – abhi