현재 회사(가온아이, Kaoni) 내에서 개발 진행중인 ezOcsNotice(OCS를 이용해 노티를 전송해주는 프로그램)을 제작하고 있다.
해당 프로그램은 동적으로 모듈들이 존재하고 각각의 모듈은 사용하지 않을땐 불필요하게 로드되게 되는 문제가 있다.
그래서 아래와 같이 Reflection을 이용해 DLL을 동적으로 이용해야 하는 문제가 생겼다...
클래스를 참조하지 않은 상태에서 외부의 DLL을 동적으로 로드해 클래스를 쓸 경우가 가끔씩 생기게 되는데..
그럴 때는 .NET의 Reflection(Java에서도 마찬가지로..) API를 사용해서 클래스를 로드하고
해당 클래스의 인스턴스를 얻거나 메소드를 호출(Invoke)할 수 있다.
예로 다음 같이 사용하면 된다.
System.Reflection.Assembly assm =
System.Reflection.Assembly.LoadFile(@"D:AssembliesSomeAssembly.dll");
object obj = assm.CreateInstance("FullClassName");
단, 위와 같이 사용할 때 잘 안될때도 많다는..
'FullClassName' 부분을 잘 조절해야하는듯 하다.
'.NET > C#' 카테고리의 다른 글
| C# ?? 연산자(Operator) (0) | 2009/01/06 |
|---|---|
| C# 웹페이지를 읽어 문자열로 반환하는 코드 (2) | 2008/06/18 |
| Reflection을 이용해 C# DLL 동적로드 (0) | 2008/06/10 |
| Mix08 ASP.NET MVC (0) | 2008/05/07 |
| 상속받은 클래스에서 Override, new, 로컬메소드의 차이 예제 (0) | 2008/04/14 |
| .NET C# Base64 Decode (0) | 2008/04/12 |
이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^
Trackback : http://i-ruru.com/trackback/333
-
Subject C# 어셈블리에 대해서 정리해 보았습니다.
2009/08/21 20:34
필요하시면 보시고, 댓글은 필수! 20090821_C# 어셈블리 정리_김용연.hwp

Prev



