Type.AssemblyQualifiedName Propriété

Définition

Obtient le nom qualifié d'assembly du type, y compris le nom de l'assembly à partir duquel l'objet Type a été chargé.Gets the assembly-qualified name of the type, which includes the name of the assembly from which this Type object was loaded.

public:
 abstract property System::String ^ AssemblyQualifiedName { System::String ^ get(); };
public abstract string AssemblyQualifiedName { get; }
member this.AssemblyQualifiedName : string
Public MustOverride ReadOnly Property AssemblyQualifiedName As String

Valeur de propriété

Le nom qualifié d'assembly du Type, qui inclut le nom de l'assembly à partir duquel le Type a été chargé ou null si l'instance actuelle représente un paramètre de type générique.The assembly-qualified name of the Type, which includes the name of the assembly from which the Type was loaded, or null if the current instance represents a generic type parameter.

Implémente

Exemples

L’exemple suivant affiche le nom de l’assembly associé à la classe et le nom qualifié complet du type.The following example displays the assembly name associated with the class and the fully qualified name of the type.

using namespace System;
using namespace System::Reflection;
int main()
{
   Type^ objType = System::Array::typeid;
   
   // Print the full assembly name.
   Console::WriteLine( "Full assembly name: {0}.", objType->Assembly->FullName );
   
   // Print the qualified assembly name.
   Console::WriteLine( "Qualified assembly name: {0}.", objType->AssemblyQualifiedName );
}
// 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.
using System;

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

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

        // Print the assembly qualified name.
        Console.WriteLine($"Assembly qualified name:\n   {objType.AssemblyQualifiedName}.");
    }
}
// The example displays the following output if run under the .NET Framework 4.5:
//    Assembly full name:
//       mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
//    Assembly qualified name:
//       System.Array, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
Class Example
    Public Shared Sub Main()
        Dim objType As Type = GetType(Array)

        ' Display the assembly full name.
        Console.WriteLine($"Assembly full name:{vbCrLf}   {objType.Assembly.FullName}.")

        ' Display the assembly qualified name.
        Console.WriteLine($"Assembly qualified name:{vbCrLf}   {objType.AssemblyQualifiedName}.")
    End Sub
End Class
' The example displays the following output if run under the .NET Framework 4.5:
'    Assembly full name:
'       mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
'    Assembly qualified name:
'       System.Array, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.

L’exemple suivant compare les chaînes retournées ToString par la méthode Nameet FullNameles propriétés AssemblyQualifiedName , et.The following example compares the strings returned by the ToString method and the Name, FullName, and AssemblyQualifiedName properties.

using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
    public static void Main()
    {
        Type t = typeof(String);
        ShowTypeInfo(t);

        t = typeof(List<>);
        ShowTypeInfo(t);

        var list = new List<String>();
        t = list.GetType();
        ShowTypeInfo(t);

        Object v = 12;
        t = v.GetType();
        ShowTypeInfo(t);

        t = typeof(IFormatProvider);
        ShowTypeInfo(t);

        IFormatProvider ifmt = NumberFormatInfo.CurrentInfo;
        t = ifmt.GetType();
        ShowTypeInfo(t);
    }

    private static void ShowTypeInfo(Type t)
    {
        Console.WriteLine($"Name: {t.Name}");
        Console.WriteLine($"Full Name: {t.FullName}");
        Console.WriteLine($"ToString:  {t}");
        Console.WriteLine($"Assembly Qualified Name: {t.AssemblyQualifiedName}");
        Console.WriteLine();
    }
}
// The example displays output like the following:
//    Name: String
//    Full Name: System.String
//    ToString:  System.String
//    Assembly Qualified Name: System.String, mscorlib, Version=4.0.0.0, Culture=neutr
//    al, PublicKeyToken=b77a5c561934e089
//
//    Name: List`1
//    Full Name: System.Collections.Generic.List`1
//    ToString:  System.Collections.Generic.List`1[T]
//    Assembly Qualified Name: System.Collections.Generic.List`1, mscorlib, Version=4.
//    0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//
//    Name: List`1
//    Full Name: System.Collections.Generic.List`1[[System.String, mscorlib, Version=4
//    .0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
//    ToString:  System.Collections.Generic.List`1[System.String]
//    Assembly Qualified Name: System.Collections.Generic.List`1[[System.String, mscor
//    lib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorl
//    ib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//
//    Name: Int32
//    Full Name: System.Int32
//    ToString:  System.Int32
//    Assembly Qualified Name: System.Int32, mscorlib, Version=4.0.0.0, Culture=neutra
//    l, PublicKeyToken=b77a5c561934e089
//
//    Name: IFormatProvider
//    Full Name: System.IFormatProvider
//    ToString:  System.IFormatProvider
//    Assembly Qualified Name: System.IFormatProvider, mscorlib, Version=4.0.0.0, Cult
//    ure=neutral, PublicKeyToken=b77a5c561934e089
//
//    Name: NumberFormatInfo
//    Full Name: System.Globalization.NumberFormatInfo
//    ToString:  System.Globalization.NumberFormatInfo
//    Assembly Qualified Name: System.Globalization.NumberFormatInfo, mscorlib, Versio
//    n=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Imports System.Collections.Generic
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim t As Type = GetType(String)
        ShowTypeInfo(t)

        t = GetType(List(Of))
        ShowTypeInfo(t)

        Dim list As New List(Of String)()
        t = list.GetType()
        ShowTypeInfo(t)

        Dim v As Object = 12
        t = v.GetType()
        ShowTypeInfo(t)

        t = GetType(IFormatProvider)
        ShowTypeInfo(t)

        Dim ifmt As IFormatProvider = NumberFormatInfo.CurrentInfo
        t = ifmt.GetType()
        ShowTypeInfo(t)
    End Sub

    Private Sub ShowTypeInfo(t As Type)
        Console.WriteLine($"Name: {t.Name}")
        Console.WriteLine($"Full Name: {t.FullName}")
        Console.WriteLine($"ToString:  {t}")
        Console.WriteLine($"Assembly Qualified Name: {t.AssemblyQualifiedName}")
        Console.WriteLine()
    End Sub
End Module
' The example displays output like the following:
'    Name: String
'    Full Name: System.String
'    ToString:  System.String
'    Assembly Qualified Name: System.String, mscorlib, Version=4.0.0.0, Culture=neutr
'    al, PublicKeyToken=b77a5c561934e089
'
'    Name: List`1
'    Full Name: System.Collections.Generic.List`1
'    ToString:  System.Collections.Generic.List`1[T]
'    Assembly Qualified Name: System.Collections.Generic.List`1, mscorlib, Version=4.
'    0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
'
'    Name: List`1
'    Full Name: System.Collections.Generic.List`1[[System.String, mscorlib, Version=4
'    .0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
'    ToString:  System.Collections.Generic.List`1[System.String]
'    Assembly Qualified Name: System.Collections.Generic.List`1[[System.String, mscor
'    lib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorl
'    ib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
'
'    Name: Int32
'    Full Name: System.Int32
'    ToString:  System.Int32
'    Assembly Qualified Name: System.Int32, mscorlib, Version=4.0.0.0, Culture=neutra
'    l, PublicKeyToken=b77a5c561934e089
'
'    Name: IFormatProvider
'    Full Name: System.IFormatProvider
'    ToString:  System.IFormatProvider
'    Assembly Qualified Name: System.IFormatProvider, mscorlib, Version=4.0.0.0, Cult
'    ure=neutral, PublicKeyToken=b77a5c561934e089
'
'    Name: NumberFormatInfo
'    Full Name: System.Globalization.NumberFormatInfo
'    ToString:  System.Globalization.NumberFormatInfo
'    Assembly Qualified Name: System.Globalization.NumberFormatInfo, mscorlib, Versio
'    n=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Remarques

Le nom qualifié d’assembly d’un type se compose du nom du type, y compris son espace de noms, suivi d’une virgule, suivi du nom d’affichage de l’assembly.The assembly-qualified name of a type consists of the type name, including its namespace, followed by a comma, followed by the display name of the assembly. Le nom complet d’un assembly est obtenu à Assembly.FullName l’aide de la propriété.The display name of an assembly is obtained using the Assembly.FullName property.

Notes

Dans le .NET Framework version 2,0, architecture du processeur est ajouté à l’identité de l’assembly et peut être spécifié dans le cadre des chaînes de nom d’assembly.In the .NET Framework version 2.0, processor architecture is added to assembly identity, and can be specified as part of assembly name strings. Par exemple, « ProcessorArchitecture = MSIL ».For example, "ProcessorArchitecture=msil". Toutefois, il n’est pas inclus dans la chaîne retournée AssemblyQualifiedName par la propriété, pour des raisons de compatibilité.However, it is not included in the string returned by the AssemblyQualifiedName property, for compatibility reasons. Consultez AssemblyName.ProcessorArchitecture.See AssemblyName.ProcessorArchitecture.

Tous les compilateurs qui prennent en charge le common language runtime émettent le nom simple d’une classe imbriquée, et la réflexion construit un nom tronqué lorsqu’il est interrogé, conformément aux conventions suivantes.All compilers that support the common language runtime emit the simple name of a nested class, and reflection constructs a mangled name when queried, in accordance with the following conventions.

DélimiteurDelimiter SignificationMeaning
Barre oblique inverse (\)Backslash (\) Caractère d’échappement.Escape character.
Virgule (,)Comma (,) Précède le nom de l’assembly.Precedes the Assembly name.
Signe plus (+)Plus sign (+) Précède une classe imbriquée.Precedes a nested class.
Point (.)Period (.) Indique des identificateurs d’espace de noms.Denotes namespace identifiers.
Crochets ([])Brackets ([]) Après un nom de type, désigne un tableau de ce type.After a type name, denotes an array of that type.

- ou --or-

Pour un type générique, encadre la liste d’arguments de type générique.For a generic type, encloses the generic type argument list.

- ou --or-

Dans une liste d’arguments de type, encadre un type qualifié d’assembly.Within a type argument list, encloses an assembly-qualified type.

Par exemple, le nom qualifié d’assembly d’une classe peut se présenter comme suit :For example, the assembly-qualified name for a class might look like this:

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

Si l’espace de noms contenait un signe plus, par exemple, de l’espace de noms. Sub + Namespace, le signe plus (+) est précédé d'\un caractère d’échappement () pour l’empêcher d’être interprété comme un séparateur d’imbrication.If the namespace contained a plus sign, for example TopNamespace.Sub+Namespace, then the plus sign (+) would be preceded by an escape character (\) to prevent it from being interpreted as a nesting separator. La réflexion émettra cette chaîne comme suit :Reflection would emit this string as follows:

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

Un « + + » devient «\\\+\+ » et un « » devient «\».A "++" becomes "\+\+", and a "\" becomes "\\".

Ce nom qualifié peut être persistant et utilisé ultérieurement pour charger Type.This qualified name can be persisted and later used to load the Type. Pour rechercher et charger un Type, utilisez GetType soit avec le nom de type uniquement, soit avec le nom de type qualifié d’assembly.To search for and load a Type, use GetType either with the type name only or with the assembly qualified type name. GetTypeavec le nom de type, recherche Type uniquement dans l’assembly de l’appelant, puis dans l’assembly système.GetType with the type name only will look for the Type in the caller's assembly and then in the System assembly. GetTypeavec le nom de type qualifié d’assembly, Type recherche le dans n’importe quel assembly.GetType with the assembly qualified type name will look for the Type in any assembly.

Les noms de types peuvent inclure des caractères de fin qui désignent des informations supplémentaires sur le type, par exemple si le type est un type référence, un type pointeur ou un type tableau.Type names may include trailing characters that denote additional information about the type, such as whether the type is a reference type, a pointer type or an array type. Pour récupérer le nom du type sans ces caractères de fin, t.GetElementType().ToString()utilisez, t où est le type.To retrieve the type name without these trailing characters, use t.GetElementType().ToString(), where t is the type.

Les espaces sont pertinents dans tous les composants de nom de type, à l’exception du nom de l’assembly.Spaces are relevant in all type name components except the assembly name. Dans le nom de l’assembly, les espaces situés avant le séparateur « , » sont pertinents, mais les espaces après le séparateur « , » sont ignorés.In the assembly name, spaces before the ',' separator are relevant, but spaces after the ',' separator are ignored.

Les arguments génériques des types génériques sont eux-mêmes qualifiés par le nom de l’assembly.Generic arguments of generic types are themselves qualified by assembly name. Par exemple, dans le nom de type qualifié d’assemblyMyGenericClass(Of Integer) pour MyGenericClass<int> (dans Visual Basic int ), est développé pour le nom de type qualifié Int32d’assembly pour.For example, in the assembly-qualified type name for MyGenericClass<int> (MyGenericClass(Of Integer) in Visual Basic), int is expanded to the assembly-qualified type name for Int32.

Si l’objet Type actuel représente un paramètre générique, cette propriété retourne null.If the current Type object represents a generic parameter, this property returns null.

S’applique à

Voir aussi