정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Assembly 클래스

2013-12-13

다시 사용 및 버전 지정이 가능한, 공용 언어 런타임 응용프로그램의 자체 설명 빌딩 블록인 어셈블리를 나타냅니다.

System.Object
  System.Reflection.Assembly

Namespace:  System.Reflection
어셈블리:  mscorlib(mscorlib.dll)

public abstract class Assembly : ICustomAttributeProvider

Assembly 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성CustomAttributes이 어셈블리의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다.
Public 속성DefinedTypes이 어셈블리에 정의되어 있는 형식의 컬렉션을 가져옵니다.
Public 속성EntryPoint이 어셈블리의 진입점을 가져옵니다.
Public 속성ExportedTypes이 어셈블리에 정의된 형식 중 어셈블리 외부에서 볼 수 있는 public 형식의 컬렉션을 가져옵니다.
Public 속성FullName어셈블리의 표시 이름을 가져옵니다.
Public 속성ImageRuntimeVersion매니페스트가 들어 있는 파일에 저장된 CLR(공용 언어 런타임) 버전을 나타내는 문자열을 가져옵니다.
Public 속성IsDynamic현재 어셈블리가 현재 프로세스에서 리플렉션 내보내기를 사용하여 동적으로 생성되었는지 여부를 나타내는 값을 가져옵니다.
Public 속성ManifestModule현재 어셈블리의 매니페스트가 포함된 모듈을 가져옵니다.
Public 속성Modules이 어셈블리의 모듈이 들어 있는 컬렉션을 가져옵니다.
맨 위

  이름설명
Public 메서드CreateInstance대/소문자 구분 검색 기능을 사용하여 이 어셈블리에서 지정된 형식을 찾은 다음 시스템 활성기를 사용하여 해당 형식의 인스턴스를 만듭니다.
Public 메서드Equals이 어셈블리와 지정된 개체가 서로 같은지 확인합니다. (Object.Equals(Object)을(를) 재정의함)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드정적 멤버GetCallingAssembly현재 실행 중인 메서드를 호출한 메서드의 Assembly를 반환합니다.
Public 메서드GetCustomAttributes(Boolean)이 어셈블리에 대한 사용자 지정 특성을 모두 가져옵니다.
Public 메서드GetCustomAttributes(Type, Boolean)형식에 의해 지정된 대로, 이 어셈블리에 대한 사용자 지정 특성을 가져옵니다.
Public 메서드정적 멤버GetExecutingAssembly현재 실행 중인 코드가 포함된 어셈블리를 가져옵니다.
Public 메서드GetExportedTypes이 어셈블리에 정의된 형식 중 어셈블리 외부에서 볼 수 있는 형식을 가져옵니다.
Public 메서드GetHashCode이 인스턴스에 대한 해시 코드를 반환합니다. (Object.GetHashCode()을(를) 재정의함)
Public 메서드GetManifestResourceInfo지정된 리소스가 지속되는 방법에 대한 정보를 반환합니다.
Public 메서드GetManifestResourceNames이 어셈블리에 있는 모든 리소스의 이름을 반환합니다.
Public 메서드GetManifestResourceStream(String)지정된 매니페스트 리소스를 이 어셈블리에서 로드합니다.
Public 메서드GetManifestResourceStream(Type, String)지정된 형식의 네임스페이스에 의해 범위가 지정된 매니페스트 리소스를 이 어셈블리에서 로드합니다.
Public 메서드GetModules이 어셈블리의 일부인 모듈을 모두 가져옵니다.
Public 메서드GetName()보안 중요 이 어셈블리에 대한 AssemblyName을 가져옵니다.
Public 메서드GetName(Boolean)보안 중요 이 어셈블리에 대한 AssemblyName을 가져오고, copiedName에서 지정한 대로 코드베이스를 설정합니다.
Public 메서드GetSatelliteAssembly(CultureInfo)지정된 문화권에 대한 위성 어셈블리를 가져옵니다.
Public 메서드GetSatelliteAssembly(CultureInfo, Version)지정된 문화권에 대한 지정된 버전의 위성 어셈블리를 가져옵니다.
Public 메서드GetType()현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드GetType(String)어셈블리 인스턴스에서 지정된 이름을 가진 Type 개체를 가져옵니다.
Public 메서드GetType(String, Boolean)어셈블리 인스턴스에서 지정된 이름을 가진 Type 개체를 가져오고, 형식을 찾을 수 없는 경우 선택적으로 예외를 발생시킵니다.
Public 메서드GetTypes이 어셈블리에 정의되어 있는 형식을 가져옵니다.
Public 메서드IsDefined지정된 특성이 어셈블리에 적용되었는지 여부를 나타냅니다.
Public 메서드정적 멤버Load(AssemblyName)보안 중요 AssemblyName이 지정된 어셈블리를 로드합니다.
Public 메서드정적 멤버Load(String)긴 형식의 이름으로 지정된 어셈블리를 로드합니다.
Public 메서드정적 멤버LoadFrom보안 중요 해당 파일 이름이나 경로가 지정된 어셈블리를 로드합니다.
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ToString표시 이름이라고도 하는 어셈블리의 전체 이름을 반환합니다. (Object.ToString()을(를) 재정의함)
맨 위

  이름설명
Public 확장 메서드GetCustomAttribute(Type)오버로드. 지정된 어셈블리에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute<T>()오버로드. 지정된 어셈블리에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes()오버로드. 지정한 어셈블리에 적용되는 사용자 지정 특성의 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes(Type)오버로드. 지정된 어셈블리에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes<T>()오버로드. 지정된 어셈블리에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드IsDefined지정된 형식의 사용자 지정 특성이 지정된 어셈블리에 적용되는지 여부를 나타냅니다. (CustomAttributeExtensions에서 정의됨)
맨 위

Assembly 클래스를 사용하여 어셈블리를 로드하고, 어셈블리의 메타데이터 및 구성 요소를 탐색하고, 어셈블리에 포함된 형식을 찾고, 해당 형식의 인스턴스를 만들 수 있습니다.

동적으로 어셈블리를 로드하기 위해 Assembly 클래스는 정적 Load(String) 메서드 오버로드(Visual Basic에서는 Shared 메서드 오버로드)를 제공합니다. 어셈블리는 Windows Phone 응용프로그램 도메인에 로드됩니다. .NET Framework에서는 신뢰할 수 있는 어셈블리에서만 다른 오버로드를 호출할 수 있습니다.

현재 실행 중인 어셈블리에 대한 Assembly 개체를 가져오려면 GetExecutingAssembly 메서드를 사용합니다.

Assembly 클래스의 여러 멤버는 어셈블리에 대한 정보를 제공합니다. 예를 들면 다음과 같습니다.

  • GetName 메서드는 어셈블리 표시 이름 부분에 액세스하는 데 사용할 수 있는 AssemblyName 개체를 반환합니다.

  • GetCustomAttributes 메서드는 어셈블리에 적용된 특성을 나열합니다.

  • GetManifestResourceNames 메서드는 어셈블리 매니페스트에 있는 리소스의 이름을 제공합니다.

GetTypes 메서드는 어셈블리에 있는 모든 형식을 나열합니다. GetExportedTypes 메서드는 어셈블리 외부의 호출자가 볼 수 있는 형식을 나열합니다. GetType 메서드를 사용하면 어셈블리에서 특정 형식을 검색할 수 있고, CreateInstance 메서드를 사용하면 어셈블리에서 형식을 검색하고 해당 인스턴스를 만들 수 있습니다.

다음 코드 예제에서는 현재 실행 중인 어셈블리를 가져오고, 해당 어셈블리에 포함된 형식의 인스턴스를 만들고, 런타임에 바인딩을 사용하여 형식의 메서드 중 하나를 호출하는 방법을 보여 줍니다. 이를 위해 이 코드 예제에서는 Example이라는 클래스와 SampleMethod라는 메서드를 정의합니다. 이 클래스의 생성자는 메서드의 반환 값을 계산하는 데 사용되는 정수를 받아들입니다.

또한 이 코드 예제에서는 GetName 메서드를 사용하여 어셈블리의 전체 이름을 구문 분석하는 데 사용할 수 있는 AssemblyName 개체를 가져오는 방법을 보여 줍니다. 이 예제에서는 어셈블리의 버전 번호 및 EntryPoint 속성을 표시합니다.


using System;
using System.Reflection;
using System.Security.Permissions;

[assembly: AssemblyVersionAttribute("1.0.2000.0")]

public class Example
{
   private static System.Windows.Controls.TextBlock outputBlock;
   private int factor;

   public Example() : this(42) {}
   public Example(int f)
   {
      factor = f;
   }

   public int SampleMethod(int x)
   {
      outputBlock.Text += String.Format("\nExample.SampleMethod({0}) executes.", x) + "\n";
      return x * factor;
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      Example.outputBlock = outputBlock;
      Assembly assem = Assembly.GetExecutingAssembly();

      outputBlock.Text += "Assembly Full Name:" + "\n";
      outputBlock.Text += assem.FullName + "\n";

      // Create an object from the assembly, using the default constructor.
      Object o = assem.CreateInstance("Example");

      // Make a late-bound call to an instance method of the object.    
      MethodInfo m = assem.GetType("Example").GetMethod("SampleMethod");
      Object ret = m.Invoke(o, new Object[] { 42 });
      outputBlock.Text += String.Format("SampleMethod returned {0}.\n", ret);

      outputBlock.Text += "\nAssembly entry point:\n";
      MethodInfo entry = assem.EntryPoint;
      if (entry == null)
      {
         outputBlock.Text += "No entry point defined for the assembly.\n";
      }
      else
      {
         outputBlock.Text += entry.ToString() + "\n";
      }
   }
}

/* This code example produces output similar to the following:

Assembly Full Name:
source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

Example.SampleMethod(42) executes.
SampleMethod returned 1784.

Assembly entry point:
No entry point defined for the assembly.
 */


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식은 스레드로부터 안전합니다.

표시: