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í
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
true
vyvolání výjimky, pokud typ nebyl nalezen; false
a vrátí .null
- ignoreCase
- Boolean
true
ignorovat 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
name
je null
.
throwOnError
je true
a 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
true
vyvolání výjimky, pokud typ nebyl nalezen; false
a vrátí .null
Návraty
Objekt, který představuje zadanou třídu.
Implementuje
Výjimky
name
je null
.
throwOnError
je true
a 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).