C#의 System.Reflection 네임스페이스 C#의 System.Reflection 네임스페이스에는 메타데이터를 검사하여 코드의 어셈블리, 모듈, 멤버, 매개 변수 및 기타 항목에 대한 정보를 제공하는 형식이 포함되어 있습니다. 이 네임스페이스의 Assembly 클래스는 어셈블리를 나타냅니다. 일반적으로 Type의 Assembly 속성을 사용하여 액세스할 수 있습니다.
어셈블리의 아이덴티티는 4개의 항목으로 구성됩니다 -
- 간단한 이름
- major.minor.build.revision 형식의 AssemblyVersion 속성 버전(없는 경우 0.0.0.0)
- 문화(위성이 아닌 경우 중립)
- 공개 키 토큰(강력한 이름이 아닌 경우 null)
정규화된 어셈블리 이름은 문자열이며 이러한 식별 항목을 −
형식으로 포함합니다.simple-name, Version=version, Culture=culture, PublicKeyToken=public-key
예를 들어,
Assembly assembly = typeof (Person).Assembly; // Person is a class name // Prints: c-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Console.WriteLine(assembly.FullName);
어셈블리 로딩은 알려진 위치에서 어셈블리를 로딩하는 프로세스입니다. 일반적으로 CLR은 전체 이름을 사용하여 어셈블리를 로드할 수 있습니다. 이 프로세스를 어셈블리 해결이라고 합니다. 어셈블리 확인은 CLR이 종속성을 해결해야 하거나 프로그래머가 Assembly.Load(assemblyName) 메서드를 사용하여 어셈블리를 동적으로 로드하려는 경우 수행됩니다.