Assembly.GetType Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 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 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)
- 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.