Windows에서 잘 작동하는 DLL을 가지고 있지만 정적 함수 인 Inside System.IO.File.ReadAllBytes()가 호출됩니다. Compact Framework 3.5 Windows CE 스마트 장치 프로젝트에서이 DLL을 사용해야하며 System.IO.File 같은 메서드가 없습니다. 이 같은 프로젝트 내부의 "파일"라는 이름의 클래스 만들려고 한 : 클래스 파일의 정적 방법에메서드 호출을 리디렉션하는 방법은 무엇입니까?
public class File
{
internal static byte[] ReadAllBytes(string path)
{
}
internal static void WriteAllBytes(string path, byte[] bytes)
{
}
}
내 자신의 전화가 여기에 리디렉션을하지만 DLL 방법 내부의 호출은 여전히 시스템으로 이동 .Io.File 클래스와 나는 여전히 MissingMethodException을 얻는다. public 수정자를 사용하여 메서드를 시도했지만 변경 사항이 없습니다.
ReadAllbytes가 호출 된 개인 메서드를 호출하고 MethodInfo.Invoke를 성공으로 사용하는 공용 메서드를 다시 작성하려고했습니다.
질문 : DLL 내에서 System.File.IO.ReadAllBytes() 대신 ReadAllbytes 메서드를 강제 적용 할 수있는 방법이 있습니까? DLL을 내부의 호출은 다음과 같이이다 : File.ReadAllBytes 같은
using System.IO.File;
namespace Something
{
class SomeClass
{
public Boolean someMethod()
{
byte[] myBytes = File.ReadAllBytes(filePath);
}
}
}
DLL 코드를 변경하고 다시 컴파일 할 수 없습니까? – svick