내 C#/.NET 응용 프로그램이 내부적으로 작동하는 방식을 수정하고 싶습니다. Reflector로 .NET 프레임 워크를 파헤 치고 다른 구현 방법을 사용할 수있는 꽤 좋은 곳을 발견했습니다. 이 클래스는 System.Windows.Forms 네임 스페이스의 내부 클래스입니다. 당신은 분명히 일반적인 방법으로이 클래스의 코드를 변경할 수 없으므로 런타임에 리플렉션을 통해 거기에있는 메소드를 대체 할 수있을 것이라고 생각했습니다.내부 .NET 클래스의 메서드 구현 수정
internal sealed class System.Windows.Forms.Internal.WindowsFont
유형을로드하고 런타임에 방법을 대체 할 수있는 방법이 있나요 : 수업 시간에
public static WindowsFontQuality WindowsFontQualityFromTextRenderingHint(Graphics g)
: 나는 완전히 내 응용 프로그램에 대한 대체하고자하는 방법이있다 현재 실행 중이거나 이후에 시작된 다른 응용 프로그램에는 영향을주지 않습니까? 내가 Type.GetType()
과 비슷한 것들을로드하려고했지만 지금까지 실패했습니다.
좋아요, 지금은 "하지 마세요"와 "아마도 불법입니다"와 같은 답변을 받았습니다.필자의 경우 IE7의 동작을 ClearType에 복사하여 단일 응용 프로그램에서만 사용할 수 있는지 여부를보고 싶습니다. C++ 응용 프로그램이 있으면 글꼴을 만들 때 다른 FontQuality 값을 사용하도록 응용 프로그램을 수정할 수 있습니다. 그러나 관리되는 C#에서는 이것이 옵션이 아닙니다. 그래서 나는 보통 도달 할 수없는 기능에서 그 작은 변화를 만들려고 노력하고있었습니다. 그리고 실제로 불법적 인 작업으로, 사용 된 프레임 워크의 "결함"으로 인해 런타임에 내 응용 프로그램을 패치하고 있습니까? – ygoe
어쨌든 다른 클래스의 메소드를 수정하여 소스 코드를 변경할 수 없습니까? 아니면 디자인에 의해 불가능하고 솔루션을 찾는 것을 멈출 수 있습니다 ... – ygoe
그래서, 진짜 질문에 어떻게 ClearType에서 IE7 동작을 관리 코드로 복사 할 수 있습니다. – Avram