Assembly.GetType Metoda

Definice

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

Přetížení

Name Description
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, Boolean, Boolean)

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

GetType()
GetType(String)

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

GetType(String, Boolean)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed by trimming. If the type name is a string literal, consider using Type.GetType instead.")]
public virtual Type? GetType(string name, bool throwOnError);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")]
public virtual Type? GetType(string name, bool throwOnError);
public virtual Type GetType(string name, bool throwOnError);
public virtual Type? GetType(string name, bool throwOnError);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed by trimming. If the type name is a string literal, consider using Type.GetType instead.")>]
override this.GetType : string * bool -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")>]
override this.GetType : string * bool -> Type
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

true vyvolání výjimky, pokud typ nebyl nalezen; falsenullvrátit .

Návraty

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

Implementuje

Atributy

Výjimky

name je neplatný.

nebo

Délka 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 nelze načíst.

nebo

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

name 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 obsahuje obor názvů, ale nikoli sestavení. Chcete-li vyhledat jiná sestavení pro určitý typ, použijte Type.GetType(String) přetížení metody, které může volitelně obsahovat zobrazovaný název sestavení jako součást názvu typu.

Pokud jsou v .NET Core/.NET 5+, budou tyto odkazy na sestavení načteny AssemblyLoadContext metody, která se nazývá Assembly.GetType, nebo pomocí AssemblyLoadContext.CurrentContextualReflectionContext kontextu, pokud je nastavena.

Note

Pokud byl typ předán do jiného sestavení, je stále vrácen touto metodou. Informace o předávání typů naleznete v tématu Předávání typů v modulu 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ány. Konkrétně pokud je typ nalezen, ale nelze jej načíst, TypeLoadException může být vyvolán, i když throwOnError je false.

Platí pro

GetType(String, Boolean, Boolean)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
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á výjimku, 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed by trimming. If the type name is a string literal, consider using Type.GetType instead.")]
public virtual Type? GetType(string name, bool throwOnError, bool ignoreCase);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed by trimming. If the type name is a string literal, consider using Type.GetType instead.")>]
override this.GetType : string * bool * bool -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")>]
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

true vyvolání výjimky, pokud typ nebyl nalezen; falsenullvrátit .

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

Atributy

Výjimky

name je neplatný.

nebo

Délka 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 nelze načíst.

nebo

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

name 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 obsahuje obor názvů, ale nikoli sestavení. Chcete-li vyhledat jiná sestavení pro určitý typ, použijte Type.GetType(String) přetížení metody, které může volitelně obsahovat zobrazovaný název sestavení jako součást názvu typu.

Pokud jsou v .NET Core/.NET 5+, budou tyto odkazy na sestavení načteny AssemblyLoadContext metody, která se nazývá Assembly.GetType, nebo pomocí AssemblyLoadContext.CurrentContextualReflectionContext kontextu, pokud je nastavena.

Note

Pokud byl typ předán do jiného sestavení, je stále vrácen touto metodou. Informace o předávání typů naleznete v tématu Předávání typů v modulu 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ány. Konkrétně pokud je typ nalezen, ale nelze jej načíst, TypeLoadException může být vyvolán, i když throwOnError je false.

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

GetType(String)

Zdroj:
Assembly.cs
Zdroj:
Assembly.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed by trimming. If the type name is a string literal, consider using Type.GetType instead.")]
public virtual Type? GetType(string name);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")]
public virtual Type? GetType(string name);
public virtual Type? GetType(string name);
override this.GetType : string -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed by trimming. If the type name is a string literal, consider using Type.GetType instead.")>]
override this.GetType : string -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")>]
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

Atributy

Výjimky

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 nelze načíst.

nebo

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

name 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 GetType(String) pro načtení objektu 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, že volání GetType(String) metody používá plně kvalifikovaný název typu (to znamená jeho obor názvů spolu s názvem 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 obsahuje obor názvů, ale nikoli sestavení. Chcete-li vyhledat jiná sestavení pro určitý typ, použijte Type.GetType(String) přetížení metody, které může volitelně obsahovat zobrazovaný název sestavení jako součást názvu typu.

Pokud jsou v .NET Core/.NET 5+, budou tyto odkazy na sestavení načteny AssemblyLoadContext metody, která se nazývá Assembly.GetType, nebo pomocí AssemblyLoadContext.CurrentContextualReflectionContext kontextu, pokud je nastavena.

Note

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

Platí pro