C# Reflection 반사

1333 단어 reflection
Reflection 반사에는
1. 메타데이터 메타데이터(attributes 특성을 통해 표시됨)를 보고 표시 등에 사용
2. 유형의 발견(유형, 유형에 정의된 속성, 방법, 이벤트 등)
3. 귀속 대상을 미루고 동적 실례화 대상을 호출할 수 있습니다
4. 동적으로 새 유형 만들기
 
유형 검색 인스턴스:
 
// 
Assembly a = Assembly.Load("Mscorlib.dll");
// , 
Type[] types = a.GetTypes();
// 
Type theType = Type.GetType("System.Reflection.Assembly");
// , 、 、 
MemberInfo[] mbrInfoArray = theType.GetMembers();
// 
MemberInfo[] mbrInfoArray = theType.GetMethods();
// , Get 
MemberInfo[] mbrInfoArray = theType.FindMembers(MemberTypes.Method, BindingFlags.Default, Type.FilterName, "Get*");

 
동적 읽기 클래스, 인스턴스 생성, 호출 방법의 예:
// / , 
Type theMathType = Type.GetType("CustomMath");
Object theObj = Activator.CreateInstance(theMathType);
// 
Type[] paramTypes = new Type[1];
paramTypes[0]= Type.GetType("System.Double");
// , , , 
MethodInfo CosineInfo = theMathType.GetMethod("Cos", paramTypes);
// 
Object[] parameters = new Object[1];
parameters[0] = 45;
// 
Object returnVal = CosineInfo.Invoke(theObj, parameters);
 
동적 생성 새 유형 (reflection emit 반사 발신) 은 일반적으로 비교적 적게 사용됩니다.
 

좋은 웹페이지 즐겨찾기