Assembly.GetType Méthode

Définition

Obtient l'objet Type qui représente le type spécifié.

Surcharges

GetType(String, Boolean, Boolean)

Obtient l'objet Type portant le nom spécifié dans l'instance de l'assembly et propose d'ignorer la casse et de lever une exception si le type est introuvable.

GetType(String, Boolean)

Obtient l'objet Type portant le nom spécifié dans l'instance de l'assembly et lève éventuellement une exception si le type est introuvable.

GetType(String)

Obtient l'objet Type avec le nom spécifié dans l'instance de l'assembly.

GetType()

GetType(String, Boolean, Boolean)

Obtient l'objet Type portant le nom spécifié dans l'instance de l'assembly et propose d'ignorer la casse et de lever une exception si le type est introuvable.

public:
 virtual Type ^ GetType(System::String ^ name, bool throwOnError, bool ignoreCase);
public virtual Type GetType (string name, bool throwOnError, bool ignoreCase);
public virtual Type? GetType (string name, bool throwOnError, bool ignoreCase);
public Type GetType (string name, bool throwOnError, bool ignoreCase);
override this.GetType : string * bool * bool -> Type
Public Overridable Function GetType (name As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Public Function GetType (name As String, throwOnError As Boolean, ignoreCase As Boolean) As Type

Paramètres

name
String

Nom complet du type.

throwOnError
Boolean

true pour lever une exception si le type est introuvable ; false pour retourner la valeur null.

ignoreCase
Boolean

true pour ignorer la casse du nom de type ; sinon, false.

Retours

Objet qui représente la classe spécifiée.

Implémente

Exceptions

name n'est pas valide.

- ou -

La longueur de name dépasse 1 024 caractères.

name a la valeur null.

throwOnError a la valeur true et le type est introuvable.

name requiert un assembly dépendant qui est introuvable.

name nécessite un assembly dépendant qui a été trouvé, mais qui n’a pas pu être chargé.

- ou -

L’assembly actuel a été chargé dans le contexte ReflectionOnly, et name nécessite un assembly dépendant qui n’a pas été préchargé.

typeName nécessite un assembly dépendant, mais le fichier n’est pas un assembly valide pour le runtime actuellement chargé.

Remarques

Cette méthode recherche uniquement l’assembly actuel instance. Le name paramètre inclut l’espace de noms, mais pas l’assembly. Pour rechercher un type dans d’autres assemblys, utilisez la surcharge de méthode Type.GetType(String) , qui peut éventuellement inclure un nom d’affichage d’assembly dans le nom du type.

Notes

Si le type a été transféré à un autre assembly, il est toujours retourné par cette méthode. Pour plus d’informations sur le transfert de type, consultez Transfert de type dans le Common Language Runtime.

Le throwOnError paramètre affecte uniquement ce qui se passe lorsque le type est introuvable. Elle n’affecte pas les autres exceptions qui peuvent être levées. En particulier, si le type est trouvé mais ne peut pas être chargé, TypeLoadException peut être levée même si throwOnError est false.

S’applique à

GetType(String, Boolean)

Obtient l'objet Type portant le nom spécifié dans l'instance de l'assembly et lève éventuellement une exception si le type est introuvable.

public:
 virtual Type ^ GetType(System::String ^ name, bool throwOnError);
public virtual Type? GetType (string name, bool throwOnError);
public virtual Type GetType (string name, bool throwOnError);
override this.GetType : string * bool -> Type
Public Overridable Function GetType (name As String, throwOnError As Boolean) As Type

Paramètres

name
String

Nom complet du type.

throwOnError
Boolean

true pour lever une exception si le type est introuvable ; false pour retourner la valeur null.

Retours

Objet qui représente la classe spécifiée.

Implémente

Exceptions

name n'est pas valide.

- ou -

La longueur de name dépasse 1 024 caractères.

name a la valeur null.

throwOnError a la valeur true et le type est introuvable.

name requiert un assembly dépendant qui est introuvable.

name nécessite un assembly dépendant qui a été trouvé, mais qui n’a pas pu être chargé.

- ou -

L’assembly actuel a été chargé dans le contexte ReflectionOnly, et name nécessite un assembly dépendant qui n’a pas été préchargé.

typeName nécessite un assembly dépendant, mais le fichier n’est pas un assembly valide pour le runtime actuellement chargé.

Remarques

Cette méthode recherche uniquement l’assembly actuel instance. Le name paramètre inclut l’espace de noms, mais pas l’assembly. Pour rechercher un type dans d’autres assemblys, utilisez la surcharge de méthode Type.GetType(String) , qui peut éventuellement inclure un nom d’affichage d’assembly dans le nom du type.

Notes

Si le type a été transféré à un autre assembly, il est toujours retourné par cette méthode. Pour plus d’informations sur le transfert de type, consultez Transfert de type dans le Common Language Runtime.

Le throwOnError paramètre affecte uniquement ce qui se passe lorsque le type est introuvable. Elle n’affecte pas les autres exceptions qui peuvent être levées. En particulier, si le type est trouvé mais ne peut pas être chargé, TypeLoadException peut être levée même si throwOnError est false.

S’applique à

GetType(String)

Obtient l'objet Type avec le nom spécifié dans l'instance de l'assembly.

public:
 virtual Type ^ GetType(System::String ^ name);
public virtual Type GetType (string name);
public virtual Type? GetType (string name);
override this.GetType : string -> Type
Public Overridable Function GetType (name As String) As Type

Paramètres

name
String

Nom complet du type.

Retours

Objet qui représente la classe spécifiée ou null si la classe est introuvable.

Implémente

Exceptions

name n'est pas valide.

name a la valeur null.

name requiert un assembly dépendant qui est introuvable.

name nécessite un assembly dépendant qui a été trouvé, mais qui n’a pas pu être chargé.

- ou -

L’assembly actuel a été chargé dans le contexte ReflectionOnly, et name nécessite un assembly dépendant qui n’a pas été préchargé.

Remarque : Dans .NET pour les applications du Windows Store ou la bibliothèque de classes portable, interceptez l’exception de classe de base, IOException, à la place.

typeName nécessite un assembly dépendant, mais le fichier n’est pas un assembly valide pour le runtime actuellement chargé.

Exemples

L’exemple suivant définit une classe abstraite MeansOfTransportation dans l’espace de Transportation noms . Il appelle la GetType(String) méthode pour récupérer son Type objet, appelle la Type.GetProperties méthode pour obtenir un tableau d’objets PropertyInfo qui représentent les propriétés du type, puis affiche des informations sur les propriétés abstraites du type. Notez que l’appel à la GetType(String) méthode utilise le nom complet du type (c’est-à-dire son espace de noms ainsi que son nom de type).

using System;
using System.Reflection;

public class Example
{
    public static void Main()
    {
        Assembly assem = typeof(Example).Assembly;
        Type t = assem.GetType("Transportation.MeansOfTransportation");
        if (t != null)
        {
            Console.WriteLine($"Virtual properties in type {t.FullName}:");
            PropertyInfo[] props = t.GetProperties();
            int nVirtual = 0;
            for (int ctr = 0; ctr < props.Length; ctr++)
            {
                if (props[ctr].GetMethod.IsVirtual)
                {
                    Console.WriteLine($"   {props[ctr].Name} (type {props[ctr].PropertyType.FullName})");
                    nVirtual++;
                }
            }

            if (nVirtual == 0)
                Console.WriteLine("   No virtual properties");
        }
    }
}

namespace Transportation
{
    public abstract class MeansOfTransportation
    {
        abstract public bool HasWheels { get; set; }
        abstract public int Wheels { get; set; }
        abstract public bool ConsumesFuel { get; set; }
        abstract public bool Living { get; set; }
    }
}
// The example displays the following output:
//    Virtual properties in type Transportation.MeansOfTransportation:
//       HasWheels (type System.Boolean)
//       Wheels (type System.Int32)
//       ConsumesFuel (type System.Boolean)
//       Living (type System.Boolean)
Imports System.Reflection

Module Example
   Public Sub Main()
      Dim assem As Assembly = GetType(Example).Assembly
      Dim t As Type = assem.GetType("Transportation.MeansOfTransportation")
      If Not t Is Nothing Then
         Console.WriteLine("Virtual properties in type {0}:", 
                           t.FullName)
         Dim props() As PropertyInfo = t.GetProperties()
         Dim nVirtual As Integer = 0
         For ctr As Integer = 0 To props.Length - 1
            If props(ctr).GetMethod.IsVirtual Then
               Console.WriteLine("   {0} (type {1})",
                                 props(ctr).Name, 
                                 props(ctr).PropertyType.FullName)
               nVirtual += 1
            End If
         Next
         If nVirtual = 0 Then 
            Console.WriteLine("   No virtual properties")
         End If   
      End If   
   End Sub
End Module

Namespace Transportation
   Public MustInherit Class MeansOfTransportation
      Public MustOverride Property HasWheels As Boolean
      Public MustOverride Property Wheels As Integer
      Public MustOverride Property ConsumesFuel As Boolean
      Public MustOverride Property Living As Boolean
   End Class
End Namespace
' The example displays the following output:
'    Virtual properties in type Transportation.MeansOfTransportation:
'       HasWheels (type System.Boolean)
'       Wheels (type System.Int32)
'       ConsumesFuel (type System.Boolean)
'       Living (type System.Boolean)

Remarques

Cette méthode recherche uniquement l’assembly actuel instance. Le name paramètre inclut l’espace de noms, mais pas l’assembly. Pour rechercher un type dans d’autres assemblys, utilisez la surcharge de méthode Type.GetType(String) , qui peut éventuellement inclure un nom d’affichage d’assembly dans le nom du type.

Notes

Si le type a été transféré à un autre assembly, il est toujours retourné par cette méthode. Pour plus d’informations sur le transfert de type, consultez Transfert de type dans le Common Language Runtime.

S’applique à

GetType()

public:
 virtual Type ^ GetType();
public Type GetType ();
override this.GetType : unit -> Type
Public Function GetType () As Type

Retours

Implémente

S’applique à