...C#으로 인수로 문자열 배열을 메서드를 호출 반사를 사용하는 방법 아래 그림과 같이 내가하는 방법이
public bool MakeRequest(string[] args)
{
try
{
sXmlRequest = args[0];
sResponse = "";
Console.WriteLine(sXmlRequest);
sw.Write(sXmlRequest);
sw.Flush();
sResponse = sr.ReadToEnd();
return true;
}
catch (Exception e)
{
sResponse = e.Message;
return false;
}
}
나는 방식으로 인해, 반사를 사용하여이 메서드를 호출해야 전체 프레임 워크가 설정됩니다. 여기
는 Fit.TcpConnector.MakeRequest가 발견되지 않는 방법을 말하는 MissingMethodException이 내가string[] innerargs = {"Dummy Args"};
string pAssembly = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TCPConnector.dll";
Assembly assemblyInstance = Assembly.LoadFrom(pAssembly);
Type tConnector = assemblyInstance.GetType("Fit.TcpConnector");
Object oLateBound = assemblyInstance.CreateInstance(tConnector.FullName);
result = tConnector.InvokeMember("MakeRequest", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Instance, null, oLateBound, innerargs);
이 나를 반환 전화를 사용하고 코드입니다. 그때
public bool MakeRequest(string args)
대신
public bool MakeRequest(string[] args)
로하여 makeRequest의 서명을 변경하는 경우
그러나, 그것은 노력하고 있습니다. 누구든지 매개 변수로 배열을 사용하는 함수를 호출 할 때 올바른 방향으로 나를 가리킬 수 있습니까?
왜 헝가리 표기법을 사용하고 있습니까? 컴파일러가 이미 유형을 검사하기 때문에별로 유용하지 않습니다. – svick
나는 똑같은 생각을 해왔다. 너무 많이 vbscripting 나를 따라갈 수 있습니다. 하지만, 이제는 안된다고 느끼고 있습니다. 귀하의 질문은 그 표기법을 떠날 때 다시 생각하게했습니다. – Buddha