반응형

// 클래스 라이브러리 로딩
Assembly assem = Assembly.LoadFile(System.IO.Path.Combine(m_strSavePath, strModule + ".dll"));

//타입 얻기
string strType = strModule.Substring(0, strModule.IndexOf("Library"));
//Type targetType = assem.GetType(strModule + "." + strType);
Type targetType = assem.GetType(strModule + "." + strType);

//객체 생성 - 디폴트 생성자 호출
Object obj = assem.CreateInstance(targetType.FullName);

//멤버에 값 설정 - 마지막 인수 5가 멤버에 값을 설정하는 부분 입니다.
//바인딩 플래그의 마지막이 셋필드임을 확인하실 수 있을 겁니다.
try
{
        strRes = (string)targetType.InvokeMember(strMethod,
        BindingFlags.InvokeMethod | BindingFlags.Instance |
        BindingFlags.Public | BindingFlags.Static, null, obj, new string[] { strParam });
}
catch(Exception e) {
        Console.WriteLine(e.ToString());
}



참고.
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=82904&ref=82872

MSDN 검색
reflection, Dynamically Loading and Using Types

+ Recent posts