나는 반사에 익숙하고 유형을 이해하려고하는 벽돌 벽을 치고있다.반사 기초
어셈블리가 정확히 무엇을 의미하며 Assembly.GetTypes()
은 무엇을 반환합니까? 또한 GetTypes()
명령에서 얻은 'type'에 GetGenericArguments()
과 같은 것을 호출하면 정확히 무엇을합니까?
감사합니다.
나는 반사에 익숙하고 유형을 이해하려고하는 벽돌 벽을 치고있다.반사 기초
어셈블리가 정확히 무엇을 의미하며 Assembly.GetTypes()
은 무엇을 반환합니까? 또한 GetTypes()
명령에서 얻은 'type'에 GetGenericArguments()
과 같은 것을 호출하면 정확히 무엇을합니까?
감사합니다.
.
Type.GetGenericArguments()
을 호출하면 제네릭 형식에 지정된 모든 일반 매개 변수가 반환됩니다. 이것은 예를 들어 도움이 될, 깨끗한 설명하지 않을 수 있습니다 :
var type1 = typeof(Func<>);
type1.GetGenericArguments(); // [ typeof(TResult) ]
var type2 = typeof(Func<string>);
type2.GetGenericArguments(); // [ typeof(String) ]
var type3 = typeof(Tuple<string, int, bool>);
type3.GetGenericArguments(); // [ typeof(String), typeof(Int32), typeof(Boolean) ]
어셈블리는이 경우 dll 또는 exe 파일입니다.
Assembly.GetTypes()는 해당 어셈블리의 모든 유형을 반환합니다. 당신이 제네릭 형식을
public class MyType<T, V>
{
}
Type.GetGenericArguments이있는 경우
은 T
와 V
반환합니다.
어셈블리는 실행되는 코드를 포함하거나 객체에 대한 정보 즉 메서드/속성/이벤트가있는 클래스/구조체에 대한 정보를 저장합니다.
유형은 다른 클래스를 설명하는 클래스입니다.
http://msdn.microsoft.com/en-us/library/system.type%28v=vs.71%29.aspx
.NET에서 어셈블리는 클래스 라이브러리 (및 기타) 프로젝트 유형
Assembly.GetTypes()
해당 어셈블리의 모든 유형의 배열을 반환를 컴파일하여 생성되는 * .dll 파일입니다, 즉 어셈블리 내의 모든 클래스 & 구조체입니다.
더 읽을 Assembly.GetTypes()
반환 어셈블리에 정의 된 모든 유형 및 인터페이스를 호출
당신은 reflection' http://www.codeguru.com/csharp/csharp/cs_misc/reflection/article'에 대한 몇 가지 문서를 읽기 시작합니다. PHP/c4257 –