Assembly.GetType Yöntem

Tanım

Type Belirtilen türü temsil eden nesneyi alır.

Aşırı Yüklemeler

GetType(String, Boolean, Boolean)

Type Büyük/küçük harf yoksayma ve tür bulunamazsa özel durum oluşturma seçenekleriyle derleme örneğinde belirtilen ada sahip nesneyi alır.

GetType(String, Boolean)

Type Derleme örneğinde belirtilen ada sahip nesneyi alır ve tür bulunamazsa isteğe bağlı olarak bir özel durum oluşturur.

GetType(String)

Type Derleme örneğinde belirtilen ada sahip nesneyi alır.

GetType()

GetType(String, Boolean, Boolean)

Kaynak:
Assembly.cs
Kaynak:
Assembly.cs
Kaynak:
Assembly.cs

Type Büyük/küçük harf yoksayma ve tür bulunamazsa özel durum oluşturma seçenekleriyle derleme örneğinde belirtilen ada sahip nesneyi alır.

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

Parametreler

name
String

Türün tam adı.

throwOnError
Boolean

true türü bulunamazsa özel durum oluşturma; false öğesini döndürecek null.

ignoreCase
Boolean

true tür adının büyük/küçük harflerini yoksaymak için; aksi takdirde , false.

Döndürülenler

Belirtilen sınıfı temsil eden bir nesne.

Uygulamalar

Özel durumlar

name geçersizdir.

-veya-

Uzunluğu name 1024 karakteri aşıyor.

name, null değeridir.

throwOnError ve truetürü bulunamıyor.

name bulunamayan bağımlı bir derleme gerektirir.

name bulunan ancak yüklenemeyen bağımlı bir derleme gerektirir.

-veya-

Geçerli derleme yalnızca yansıma bağlamı içine yüklendi ve name önceden yüklenmeyen bağımlı bir derleme gerektiriyor.

typeName bağımlı bir derleme gerektirir, ancak dosya şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir.

Açıklamalar

Bu yöntem yalnızca geçerli derleme örneğinde arama uygular. name parametresi ad alanını içerir ancak derlemeyi içermez. Diğer derlemelerde bir tür aramak için, isteğe bağlı olarak tür adının bir parçası olarak bir derleme görünen adı içerebilen yöntem aşırı yüklemesini kullanın Type.GetType(String) .

Not

Tür başka bir derlemeye iletildiyse, yine de bu yöntem tarafından döndürülür. Tür iletme hakkında bilgi için bkz. Ortak Dil Çalışma Zamanında Tür İletme.

throwOnError parametresi yalnızca tür bulunamazsa ne olacağını etkiler. Oluşturulabilecek diğer özel durumları etkilemez. Özellikle, türü bulunur ancak yüklenemezse, TypeLoadException olsa throwOnErrorfalsebile oluşturulabilir.

Şunlara uygulanır

GetType(String, Boolean)

Kaynak:
Assembly.cs
Kaynak:
Assembly.cs
Kaynak:
Assembly.cs

Type Derleme örneğinde belirtilen ada sahip nesneyi alır ve tür bulunamazsa isteğe bağlı olarak bir özel durum oluşturur.

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

Parametreler

name
String

Türün tam adı.

throwOnError
Boolean

true türü bulunamazsa özel durum oluşturma; false öğesini döndürecek null.

Döndürülenler

Belirtilen sınıfı temsil eden bir nesne.

Uygulamalar

Özel durumlar

name geçersizdir.

-veya-

Uzunluğu name 1024 karakteri aşıyor.

name, null değeridir.

throwOnError ve truetürü bulunamıyor.

name bulunamayan bağımlı bir derleme gerektirir.

name bulunan ancak yüklenemeyen bağımlı bir derleme gerektirir.

-veya-

Geçerli derleme yalnızca yansıma bağlamı içine yüklendi ve name önceden yüklenmeyen bağımlı bir derleme gerektiriyor.

typeName bağımlı bir derleme gerektirir, ancak dosya şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir.

Açıklamalar

Bu yöntem yalnızca geçerli derleme örneğinde arama uygular. name parametresi ad alanını içerir ancak derlemeyi içermez. Diğer derlemelerde bir tür aramak için, isteğe bağlı olarak tür adının bir parçası olarak bir derleme görünen adı içerebilen yöntem aşırı yüklemesini kullanın Type.GetType(String) .

Not

Tür başka bir derlemeye iletildiyse, yine de bu yöntem tarafından döndürülür. Tür iletme hakkında bilgi için bkz. Ortak Dil Çalışma Zamanında Tür İletme.

throwOnError parametresi yalnızca tür bulunamazsa ne olacağını etkiler. Oluşturulabilecek diğer özel durumları etkilemez. Özellikle, türü bulunur ancak yüklenemezse, TypeLoadException olsa throwOnErrorfalsebile oluşturulabilir.

Şunlara uygulanır

GetType(String)

Kaynak:
Assembly.cs
Kaynak:
Assembly.cs
Kaynak:
Assembly.cs

Type Derleme örneğinde belirtilen ada sahip nesneyi alır.

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

Parametreler

name
String

Türün tam adı.

Döndürülenler

Belirtilen sınıfı temsil eden veya null sınıfı bulunamazsa bir nesne.

Uygulamalar

Özel durumlar

name geçersizdir.

name, null değeridir.

name bulunamayan bağımlı bir derleme gerektirir.

name bulunan ancak yüklenemeyen bağımlı bir derleme gerektirir.

-veya-

Geçerli derleme yalnızca yansıma bağlamı içine yüklendi ve name önceden yüklenmeyen bağımlı bir derleme gerektiriyor.

Not: Windows Mağazası uygulamaları için .NET'te veya Taşınabilir Sınıf Kitaplığı'nda bunun yerine temel sınıf özel durumunu IOExceptionyakalayın.

typeName bağımlı bir derleme gerektirir, ancak dosya şu anda yüklü olan çalışma zamanı için geçerli bir derleme değildir.

Örnekler

Aşağıdaki örnek, ad alanında Transportation bir soyut MeansOfTransportation sınıf tanımlar. nesnesini almak Type için yöntemini çağırırGetType(String), türün Type.GetProperties özelliklerini temsil eden bir nesne dizisi PropertyInfo almak için yöntemini çağırır ve sonra türün soyut özellikleriyle ilgili bilgileri görüntüler. yöntemine yapılan çağrının GetType(String) türün tam adını (ad alanı ve tür adı) kullandığını unutmayın.

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)

Açıklamalar

Bu yöntem yalnızca geçerli derleme örneğinde arama uygular. name parametresi ad alanını içerir ancak derlemeyi içermez. Diğer derlemelerde bir tür aramak için, isteğe bağlı olarak tür adının bir parçası olarak bir derleme görünen adı içerebilen yöntem aşırı yüklemesini kullanın Type.GetType(String) .

Not

Tür başka bir derlemeye iletildiyse, yine de bu yöntem tarafından döndürülür. Tür iletme hakkında bilgi için bkz. Ortak Dil Çalışma Zamanında Tür İletme.

Şunlara uygulanır

GetType()

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

Döndürülenler

Uygulamalar

Şunlara uygulanır