내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

Type.AssemblyQualifiedName 속성

Type 이 로드된 어셈블리의 이름을 비롯하여 Type의 어셈블리 한정 이름을 가져옵니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

public abstract string AssemblyQualifiedName { get; }

속성 값

형식: System.String
Type 이 로드된 어셈블리의 이름을 비롯한 Type의 어셈블리 한정 이름입니다. 현재 인스턴스가 제네릭 형식 매개 변수를 나타낼 경우에는 null입니다.

구현

_Type.AssemblyQualifiedName

형식의 어셈블리 한정 이름은 네임스페이스를 비롯한 형식 이름 뒤에 쉼표를 추가하고 어셈블리의 표시 이름을 추가하여 구성됩니다. 어셈블리의 표시 이름은 Assembly.FullName 속성을 사용하여 가져옵니다.

참고참고

.NET Framework 버전 2.0에서 프로세서 아키텍처를 어셈블리 ID에 추가하여 어셈블리 이름 문자열의 일부로 지정할 수 있습니다. 예를 들면 "ProcessorArchitecture=msil"과 같습니다. 그러나 이 프로세서 아키텍처는 호환성을 위해 AssemblyQualifiedName 속성에서 반환한 문자열에 포함되지 않습니다. AssemblyName.ProcessorArchitecture 를 참조하십시오.

공용 언어 런타임을 지원하는 모든 컴파일러에서는 중첩 클래스의 단순한 이름을 내보내고, 리플렉션에서는 쿼리 시 다음 규칙에 따라 변환된 이름을 생성합니다.

Delimiter

의미

백슬래시(\)

이스케이프 문자입니다.

쉼표(,)

어셈블리 이름 앞에 붙습니다.

더하기 기호(+)

중첩 클래스 앞에 붙습니다.

마침표(.)

네임스페이스 식별자를 나타냅니다.

대괄호([])

형식 이름 뒤에서 형식의 배열을 나타냅니다.

또는

제네릭 형식의 경우 제네릭 형식 인수 목록을 묶습니다.

또는

형식 인수 목록에서 어셈블리로 한정된 형식을 묶습니다.

예를 들어, 다음과 같은 이름이 어셈블리로 한정된 클래스의 이름이 될 수 있습니다.

TopNamespace.SubNameSpace.ContainingClass+NestedClass, MyAssembly, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089

TopNamespace.Sub+Namespace와 같이 네임스페이스에 + 기호가 포함된 경우 + 기호 앞에 이스케이프 문자(\)를 사용해야만 + 기호가 중첩 구분 기호로 해석되지 않습니다. 리플렉션에서는 이 문자열을 다음과 같이 내보냅니다.

TopNamespace.Sub\+Namespace.ContainingClass+NestedClass, MyAssembly, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089 

"++"는 "\+\+"가 되고 "\"는 "\\"가 됩니다.

이 정규화된 이름은 그대로 유지되었다가 나중에 Type을 로드하는 데 사용될 수 있습니다. Type 을 검색하고 로드하려면 형식 이름만 또는 어셈블리의 정규화된 형식 이름이 있는 GetType을 사용해야 합니다. 어셈블리 정규 형식 이름이 사용된 GetType은 호출자의 어셈블리에서 Type을 찾은 다음, 시스템 어셈블리에서 찾을 것입니다. 어셈블리 정규 형식 이름이 사용된 GetType은 어셈블리에서 Type을 찾습니다.

형식 이름에는 해당 형식에 대한 추가 정보(참조 형식인지 포인터 형식인지 또는 배열 형식인지 등)를 나타내는 후행 문자가 포함될 수 있습니다. 이러한 후행 문자를 사용하지 않고 형식 이름을 검색하려면 t.GetElementType().ToString()을 사용합니다. 여기서 t는 형식입니다.

어셈블리 이름을 제외한 모든 형식 이름 구성 요소 에서 공백은 의미가 있습니다. 어셈블리 이름에서 ',' 구분 기호 앞의 공백은 의미가 있으나 ',' 구분 기호 뒤의 공백은 무시됩니다.

제네릭 형식의 제네릭 인수 자체는 어셈블리 이름으로 한정되어 있습니다. 예를 들어, MyGenericClass<int>(Visual Basic의 경우 MyGenericClass(Of Integer))의 어셈블리 한정 형식 이름에서 intInt32의 어셈블리 한정 형식 이름으로 확장됩니다.

현재 Type 개체가 제네릭 매개 변수를 나타내는 경우 이 속성은 null을 반환합니다.

다음 예제에서는 클래스와 관련된 어셈블리 이름과 형식의 정규화된 이름을 표시합니다.


using System;
using System.Reflection;

class MyAssemblyClass
{
    public static void Main()
    {
        Type objType = typeof(System.Array);

        // Print the full assembly name.
        Console.WriteLine ("Full assembly name:\n   {0}.", 
                           objType.Assembly.FullName.ToString()); 

        // Print the qualified assembly name.
        Console.WriteLine ("Qualified assembly name:\n   {0}.", 
                           objType.AssemblyQualifiedName.ToString()); 
    }
}
// The example displays the following output if run under the .NET Framework 4.5:
//    Full assembly name:
//       mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
//    Qualified assembly name:
//       System.Array, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft