.NET Framework의 일부 내부 클래스에 액세스하고 싶습니다. 그러나 리플렉션을 사용하면 읽기가 쉽지 않고 재미있게 사용할 수 있습니다.클래스 주위에 래퍼를 자동으로 생성하는 도구가 있습니까?
이러한 내부 클래스를 중심으로 자동으로 래퍼 클래스를 생성 할 수있는 도구가 있는지 somenone이 알고 있습니까?
.NET Framework의 일부 내부 클래스에 액세스하고 싶습니다. 그러나 리플렉션을 사용하면 읽기가 쉽지 않고 재미있게 사용할 수 있습니다.클래스 주위에 래퍼를 자동으로 생성하는 도구가 있습니까?
이러한 내부 클래스를 중심으로 자동으로 래퍼 클래스를 생성 할 수있는 도구가 있는지 somenone이 알고 있습니까?
글쎄, Visual Studio는 단위 테스트 목적으로 자신의 클래스에서 래퍼를 생성 할 수 있습니다. 이를 섀도우 클래스 또는 섀도우 어셈블리라고합니다. 이것은 프레임 워크 클래스에 대해 동일한 작업을 수행하는 데 사용될 수 있습니다.
몇 가지 수동 단계가 있습니다 :
첫째, 당신은 (프로젝트에 내장 그림자를하고 싶은 어셈블리의 이름을 포함해야합니다 일반 텍스트 파일을 인 framework.accessor 파일을 만들어야합니다 어셈블리 참조). 예를 들어 :
System.dll
그런 다음, 수동으로 .csproj 파일을 편집하고,이 itemgroup 추가
<ItemGroup>
<Shadow Include="framework.accessor" />
</ItemGroup>
이 프로젝트를 빌드합니다. 이제 생성 된 * _Accessor 클래스를 사용하여 내부 클래스와 개인 메서드에 액세스 할 수 있습니다.
여기에 주제에 관한 good blog post (이 답변의 대부분의 정보가 있습니다)입니다.
라이브러리의 개인용 메서드와 클래스를 사용하는 것은 좋지 않지만, 사용자가 이유가 있다고 생각합니다.
고마워, 나는 나쁜 습관이라는 것을 알고 있지만, 빠르고 더러운 유틸리티 응용 프로그램 일뿐입니다. (구체적으로 말하면 vb.net 응용 프로그램을 C# 응용 프로그램으로 신속하게 마이그레이션하려면 Microsoft.VisualBasic.CompilerServices에 액세스해야합니다.) –