// 클래스 라이브러리 로딩
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
'develop > windows' 카테고리의 다른 글
MHTML 저장 유의사항 (0) | 2011.03.09 |
---|---|
C# 클래스 라이브러리 동적 로딩을 위한 추가 내용 (0) | 2010.09.29 |
C# ActiveX 만들기 (0) | 2010.09.29 |
ActiveX 에서 다른 ActiveX를 생성할 때 주의점 (0) | 2010.07.29 |
IObjectSafety (1) | 2010.02.03 |