'assembly'에 해당되는 글 1건

  1. 2010.03.31 어셈블리 동적 로딩
2010. 3. 31. 10:45
리플렉션을 어설프게 이해해서 제대로 정리하지는못했다 -_-
다음에 더 정리가되면 다시 2탄을 올리도록하겠다.

1.
네임스페이스 리플렉션 ( System.Reflection ) 에 있는  Assembly 클래스를 이용한다.
 Assembly asm = Assembly.Load("SB");  SB.dll 파일을 로딩한다.

2.
해당 파일에 있는 네임스페이스명.클래스명을 불러온다.
Type type = asm.GetType("asem.SB");


아래와 같이해서 가져올 네임스페이스명과 클래스명을 알 수 있다.
foreach(Type i in asm.GetType())
{
Console.WriteLine(i.FullName)  
}

방법1

해당 클래스에서 프로퍼티를 가져온다.
해당 프로퍼티에서는 get으로 객체를 반환해준다.
GetValue를 통해 PropertyInfo에 있는 가져온 프로퍼티 값을 object에 넣어준다.

            PropertyInfo pi = type.GetProperty("sb");  
            object o = pi.GetValue(null, null); //첫번째 : obecjt  두번째 : 가져올 object의 인덱스
                                                           
이렇게 해서 해당 객체를 실행시킬 수 있다.

방법2

object obj = Activator.CreateInstance(stu, "진용", cnt++);  //해당겍체를 가져온다.
            MethodInfo mi =  stu.GetMethod("Study");          //클래스의 Study 메소드를 가져온다.
            mi.Invoke(obj, null);                                        //가져온 해당 객체를 실행시킨다.

'.NET > C#' 카테고리의 다른 글

윈도우 서비스 만들기  (0) 2010.04.04
ReadLine, Read, ReadKey  (0) 2010.04.03
Const Vs Readonly  (0) 2010.03.29
Sealed  (0) 2010.03.29
Sort메소드  (0) 2010.03.28
Posted by 아몰라
이전버튼 1 이전버튼