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 ignorovat případ a vyvolání výjimky, pokud typ není nalezen.

GetType(String, Boolean)

Type Získá objekt se zadaným názvem v instanci sestavení a volitelně vyvolá výjimku, pokud typ není 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 ignorovat případ a vyvolání výjimky, pokud typ není 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á výjimku, pokud typ nebyl nalezen; false a vrátí nullse .

ignoreCase
Boolean

trueignorovat případ 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 name je delší než 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 jen 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ává pouze aktuální instanci sestavení. Parametr name zahrnuje obor názvů, ale ne sestavení. Pokud chcete 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 do jiného 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 Common Language Runtime.

Parametr throwOnError má vliv pouze na to, co se stane, když se typ nenajde. Nemá vliv na žádné další výjimky, které by mohly být vyvolány. 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 není 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á výjimku, pokud typ nebyl nalezen; false a vrátí nullse .

Návraty

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

Implementuje

Výjimky

Formát name je neplatný.

-nebo-

Délka name je delší než 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 jen 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ává pouze aktuální instanci sestavení. Parametr name zahrnuje obor názvů, ale ne sestavení. Pokud chcete 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 do jiného 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 Common Language Runtime.

Parametr throwOnError má vliv pouze na to, co se stane, když se typ nenajde. Nemá vliv na žádné další výjimky, které by mohly být vyvolány. 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 jen 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 přenosné knihovně 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 GetType(String) pro načtení objektu Type , volá metodu Type.GetProperties pro získání pole PropertyInfo objektů, které představují vlastnosti typu, a pak 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 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ává pouze aktuální instanci sestavení. Parametr name zahrnuje obor názvů, ale ne sestavení. Pokud chcete 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 do jiného 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 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