Sdílet prostřednictvím


Assembly.GetType Metoda

Definice

Type Získá objekt, který představuje zadaný typ.

Přetížení

GetType(String, Boolean, Boolean)

Type Získá objekt se zadaným názvem v instanci sestavení s možnostmi ignorování případu a vyvolání výjimky, pokud typ nebyl nalezen.

GetType(String, Boolean)

Type Získá objekt se zadaným názvem v instanci sestavení a volitelně vyvolá výjimku, pokud typ nebyl nalezen.

GetType(String)

Type Získá objekt se zadaným názvem v instanci sestavení.

GetType()

GetType(String, Boolean, Boolean)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs

Type Získá objekt se zadaným názvem v instanci sestavení s možnostmi ignorování případu a vyvolání výjimky, pokud typ nebyl nalezen.

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

Parametry

name
String

Úplný název typu.

throwOnError
Boolean

truevyvolání výjimky, pokud typ nebyl nalezen; false a vrátí .null

ignoreCase
Boolean

trueignorovat velikost písmen názvu typu; v opačném případě . false

Návraty

Objekt, který představuje zadanou třídu.

Implementuje

Výjimky

Formát name je neplatný.

-nebo-

Délka souboru name přesahuje 1024 znaků.

name je null.

throwOnError je truea typ nebyl nalezen.

name vyžaduje závislé sestavení, které nebylo nalezeno.

name vyžaduje závislé sestavení, které bylo nalezeno, ale nebylo možné ho načíst.

-nebo-

Aktuální sestavení bylo načteno do kontextu pouze pro reflexi a name vyžaduje závislé sestavení, které nebylo předem načteno.

typeName vyžaduje závislé sestavení, ale soubor není platným sestavením pro aktuálně načtený modul runtime.

Poznámky

Tato metoda prohledá pouze aktuální instanci sestavení. Parametr name zahrnuje obor názvů, ale nikoli sestavení. Chcete-li vyhledat typ v jiných sestaveních, použijte Type.GetType(String) přetížení metody, které může volitelně zahrnout zobrazovaný název sestavení jako součást názvu typu.

Poznámka

Pokud byl typ předán jinému sestavení, je stále vrácen touto metodou. Informace o předávání typů najdete v tématu Předávání typů v modulu ClR (Common Language Runtime).

Parametr throwOnError má vliv jenom na to, co se stane, když se typ nenajde. Nemá vliv na žádné další výjimky, které by mohly být vyvolán. Zejména pokud je typ nalezen, ale nelze ho načíst, může být vyvolán i v případě, TypeLoadException že throwOnError je false.

Platí pro

GetType(String, Boolean)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs

Type Získá objekt se zadaným názvem v instanci sestavení a volitelně vyvolá výjimku, pokud typ nebyl nalezen.

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

Parametry

name
String

Úplný název typu.

throwOnError
Boolean

truevyvolání výjimky, pokud typ nebyl nalezen; false a vrátí .null

Návraty

Objekt, který představuje zadanou třídu.

Implementuje

Výjimky

Formát name je neplatný.

-nebo-

Délka souboru name přesahuje 1024 znaků.

name je null.

throwOnError je truea typ nebyl nalezen.

name vyžaduje závislé sestavení, které nebylo nalezeno.

name vyžaduje závislé sestavení, které bylo nalezeno, ale nebylo možné ho načíst.

-nebo-

Aktuální sestavení bylo načteno do kontextu pouze pro reflexi a name vyžaduje závislé sestavení, které nebylo předem načteno.

typeName vyžaduje závislé sestavení, ale soubor není platným sestavením pro aktuálně načtený modul runtime.

Poznámky

Tato metoda prohledá pouze aktuální instanci sestavení. Parametr name zahrnuje obor názvů, ale nikoli sestavení. Chcete-li vyhledat typ v jiných sestaveních, použijte Type.GetType(String) přetížení metody, které může volitelně zahrnout zobrazovaný název sestavení jako součást názvu typu.

Poznámka

Pokud byl typ předán jinému sestavení, je stále vrácen touto metodou. Informace o předávání typů najdete v tématu Předávání typů v modulu ClR (Common Language Runtime).

Parametr throwOnError má vliv jenom na to, co se stane, když se typ nenajde. Nemá vliv na žádné další výjimky, které by mohly být vyvolán. Zejména pokud je typ nalezen, ale nelze ho načíst, může být vyvolán i v případě, TypeLoadException že throwOnError je false.

Platí pro

GetType(String)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
Zdroj:
Assembly.cs

Type Získá objekt se zadaným názvem v instanci sestavení.

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

Parametry

name
String

Úplný název typu.

Návraty

Objekt, který představuje zadanou třídu, nebo null pokud třída nebyla nalezena.

Implementuje

Výjimky

Formát name je neplatný.

name je null.

name vyžaduje závislé sestavení, které nebylo nalezeno.

name vyžaduje závislé sestavení, které bylo nalezeno, ale nebylo možné ho načíst.

-nebo-

Aktuální sestavení bylo načteno do kontextu pouze pro reflexi a name vyžaduje závislé sestavení, které nebylo předem načteno.

Poznámka: V .NET pro aplikace pro Windows Store nebo v knihovně přenosných tříd místo toho zachyťte výjimku IOExceptionzákladní třídy .

typeName vyžaduje závislé sestavení, ale soubor není platným sestavením pro aktuálně načtený modul runtime.

Příklady

Následující příklad definuje abstraktní MeansOfTransportation třídu v Transportation oboru názvů . Volá metodu k načtení objektu GetType(String)Type , volá metodu Type.GetProperties pro získání pole PropertyInfo objektů, které představují vlastnosti typu, a poté zobrazí informace o abstraktních vlastnostech typu. Všimněte si GetType(String) , že volání metody používá plně kvalifikovaný název typu (to znamená jeho obor názvů spolu s názvem jeho typu).

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)

Poznámky

Tato metoda prohledá pouze aktuální instanci sestavení. Parametr name zahrnuje obor názvů, ale nikoli sestavení. Chcete-li vyhledat typ v jiných sestaveních, použijte Type.GetType(String) přetížení metody, které může volitelně zahrnout zobrazovaný název sestavení jako součást názvu typu.

Poznámka

Pokud byl typ předán jinému sestavení, je stále vrácen touto metodou. Informace o předávání typů najdete v tématu Předávání typů v modulu ClR (Common Language Runtime).

Platí pro

GetType()

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

Návraty

Implementuje

Platí pro