Aracılığıyla paylaş


Type.GetType Yöntem

Tanım

Belirtilen türü temsil eden bir Type nesne alır.

Aşırı Yüklemeler

Name Description
GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean)

Belirtilen ada sahip türü alır, büyük/küçük harfe duyarlı bir arama yapılıp yapılmayacağını ve tür bulunamazsa özel durum oluşturup oluşturmayacağını belirtir ve isteğe bağlı olarak derlemeyi ve türü çözümlemek için özel yöntemler sağlar.

GetType()

Geçerli Typealır.

GetType(String)

Type Belirtilen ada sahip olan öğesini alır ve büyük/küçük harfe duyarlı bir arama gerçekleştirir.

GetType(String, Boolean)

Type belirtilen ada sahip olan öğesini alır, büyük/küçük harfe duyarlı bir arama gerçekleştirir ve tür bulunamazsa özel durum oluşturup oluşturmayacağını belirtir.

GetType(String, Boolean, Boolean)

Type türü bulunamazsa özel durum oluşturup oluşturmayacağını ve büyük/küçük harfe duyarlı bir arama yapılıp yapılmayacağını belirterek belirtilen ada sahip değerini alır.

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>)

Türü belirtilen ada sahip alır ve isteğe bağlı olarak derlemeyi ve türü çözümlemek için özel yöntemler sağlar.

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean)

Belirtilen ada sahip türü alır, tür bulunamazsa özel durum oluşturup oluşturmayacağını belirtir ve isteğe bağlı olarak derlemeyi ve türü çözümlemek için özel yöntemler sağlar.

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean)

Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs

Belirtilen ada sahip türü alır, büyük/küçük harfe duyarlı bir arama yapılıp yapılmayacağını ve tür bulunamazsa özel durum oluşturup oluşturmayacağını belirtir ve isteğe bağlı olarak derlemeyi ve türü çözümlemek için özel yöntemler sağlar.

public:
 static Type ^ GetType(System::String ^ typeName, Func<System::Reflection::AssemblyName ^, System::Reflection::Assembly ^> ^ assemblyResolver, Func<System::Reflection::Assembly ^, System::String ^, bool, Type ^> ^ typeResolver, bool throwOnError, bool ignoreCase);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")]
public static Type? GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly?>? assemblyResolver, Func<System.Reflection.Assembly?,string,bool,Type?>? typeResolver, bool throwOnError, bool ignoreCase);
public static Type GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly> assemblyResolver, Func<System.Reflection.Assembly,string,bool,Type> typeResolver, bool throwOnError, bool ignoreCase);
public static Type? GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly?>? assemblyResolver, Func<System.Reflection.Assembly?,string,bool,Type?>? typeResolver, bool throwOnError, bool ignoreCase);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")>]
static member GetType : string * Func<System.Reflection.AssemblyName, System.Reflection.Assembly> * Func<System.Reflection.Assembly, string, bool, Type> * bool * bool -> Type
static member GetType : string * Func<System.Reflection.AssemblyName, System.Reflection.Assembly> * Func<System.Reflection.Assembly, string, bool, Type> * bool * bool -> Type
Public Shared Function GetType (typeName As String, assemblyResolver As Func(Of AssemblyName, Assembly), typeResolver As Func(Of Assembly, String, Boolean, Type), throwOnError As Boolean, ignoreCase As Boolean) As Type

Parametreler

typeName
String

Alınacak türün adı. typeResolver Parametresi sağlanırsa, tür adı çözümlenebilen herhangi bir dize typeResolver olabilir. assemblyResolver Parametre sağlanmışsa veya standart tür çözümlemesi kullanılıyorsa, typeName türün yürütülmekte olan derlemede veya mscorlib.dll/System.Private.CoreLib.dlliçinde olmadığı sürece, derlemenin nitelenmiş adı olmalıdır (bkzAssemblyQualifiedName. ), bu durumda ad alanına uygun tür adını sağlamak yeterlidir.

assemblyResolver
Func<AssemblyName,Assembly>

içinde typeNamebelirtilen derlemeyi bulup döndüren bir yöntem. Derleme adı nesnesi AssemblyName olarak geçirilirassemblyResolver. Bir derlemenin adını içermiyorsa typeName çağrılmaz assemblyResolver . assemblyResolver Sağlanmazsa, standart derleme çözümlemesi gerçekleştirilir.

Dikkat: Bilinmeyen veya güvenilmeyen arayanların yöntemlerini geçirmeyin. Bunun yapılması kötü amaçlı kod için ayrıcalıkların yükseltilmesine neden olabilir. Yalnızca sağladığınız veya bildiğiniz yöntemleri kullanın.

typeResolver
Func<Assembly,String,Boolean,Type>

tarafından veya standart derleme çözümlemesi tarafından typeName döndürülen assemblyResolver derlemeden tarafından belirtilen türü bulup döndüren bir yöntem. Herhangi bir derleme sağlanmazsa, yöntemi bir tane sağlayabilir. yöntemi ayrıca büyük/küçük harfe duyarlı olmayan bir arama yapılıp yapılmayacağını belirten bir parametre alır; değeri ignoreCase bu parametreye geçirilir.

Dikkat: Bilinmeyen veya güvenilmeyen arayanların yöntemlerini geçirmeyin.

throwOnError
Boolean

true türü bulunamazsa özel durum oluşturma; false öğesini döndürecek null. Belirtme, false diğer bazı özel durum koşullarını da gizler, ancak tümünü gizlemez. Özel Durumlar bölümüne bakın.

ignoreCase
Boolean

trueiçin büyük/küçük harfe duyarlı olmayan bir arama yapmak üzere typeNamefalse için büyük/küçük harfe duyarlı bir arama yapmak içintypeName.

Döndürülenler

Belirtilen ada sahip tür. Tür bulunamazsa, throwOnError parametresi döndürülür veya null bir özel durum oluşturulur belirtir. Bazı durumlarda, değerinden throwOnErrorbağımsız olarak bir özel durum oluşturulur. Özel Durumlar bölümüne bakın.

Öznitelikler

Özel durumlar

typeName, null'e eşittir.

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

throwOnError ve true türü bulunamadı.

-veya-

throwOnError typeName ve true ekli sekme gibi geçersiz karakterler içeriyor.

-veya-

throwOnError ve truetypeName boş bir dizedir.

-veya-

throwOnError typeName ve true geçersiz boyuta sahip bir dizi türünü temsil eder.

-veya-

typeName bir dizisini TypedReferencetemsil eder.

Bir tür adına ve derleme adına ayrıştırıldığında typeName bir hata oluşur (örneğin, basit tür adı sıralanmamış bir özel karakter içerdiğinde).

-veya-

throwOnError typeName ve true geçersiz söz dizimi içeriyor (örneğin, "MyType[,*,]").

-veya-

typeName, işaretçi türüne, türüne veya Void tür bağımsız değişkenlerinden biri olarak sahip olan genel bir ByRef türü temsil eder.

-veya-

typeName , yanlış sayıda tür bağımsız değişkeni olan genel bir türü temsil eder.

-veya-

typeName genel bir türü temsil eder ve tür bağımsız değişkenlerinden biri ilgili tür parametresinin kısıtlamalarını karşılamaz.

throwOnError ve true derleme veya bağımlılıklarından biri bulunamadı.

Derleme veya bağımlılıklarından biri bulundu, ancak yüklenemedi.

-veya-

typeName geçersiz bir derleme adı içeriyor.

-veya-

typeName tür adı olmayan geçerli bir derleme adıdır.

Derleme veya bağımlılıklarından biri, şu anda yüklü olan çalışma zamanı için geçerli bir derleme değil.

Açıklamalar

.NET Core 3.0 ve sonraki sürümlerinde null ise assemblyResolver , bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.

Bu API hakkında daha fazla bilgi için bkz. Type.GetType için ek API açıklamaları.

Şunlara uygulanır

GetType()

Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs

Geçerli Typealır.

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

Döndürülenler

Geçerli Type.

Uygulamalar

Özel durumlar

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

Ayrıca bkz.

Şunlara uygulanır

GetType(String)

Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs

Type Belirtilen ada sahip olan öğesini alır ve büyük/küçük harfe duyarlı bir arama gerçekleştirir.

public:
 static Type ^ GetType(System::String ^ typeName);
public static Type GetType(string typeName);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")]
public static Type? GetType(string typeName);
public static Type? GetType(string typeName);
static member GetType : string -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")>]
static member GetType : string -> Type
Public Shared Function GetType (typeName As String) As Type

Parametreler

typeName
String

Alınacak türün derleme nitelikli adı. Bkz. AssemblyQualifiedName. Tür şu anda yürütülen derlemede veya mscorlib.dll/System.Private.CoreLib.dlliçindeyse, ad alanına göre nitelenmiş tür adını sağlamak yeterlidir.

Döndürülenler

Bulunursa, belirtilen ada sahip tür; aksi takdirde , null.

Öznitelikler

Özel durumlar

typeName, null'e eşittir.

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

typeName, işaretçi türüne, türüne veya Void tür bağımsız değişkenlerinden biri olarak sahip olan genel bir ByRef türü temsil eder.

-veya-

typeName , yanlış sayıda tür bağımsız değişkeni olan genel bir türü temsil eder.

-veya-

typeName genel bir türü temsil eder ve tür bağımsız değişkenlerinden biri ilgili tür parametresinin kısıtlamalarını karşılamaz.

typeName geçersiz bir türü, örneğin bir dizisini TypedReferencetemsil eder.

Derleme veya bağımlılıklarından biri bulundu, ancak yüklenemedi.

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.

Derleme, şu anda yüklü olan çalışma zamanı için geçerli değil.

Örnekler

Aşağıdaki örnek, System.Int32 türünü alır ve özelliğini System.Int32görüntülemek FullName için bu tür nesnesini kullanır.

using System;

class Example
{
     public static void Main()
     {
         try {
             // Get the type of a specified class.
             Type myType1 = Type.GetType("System.Int32");
             Console.WriteLine("The full name is {0}.\n", myType1.FullName);
         }
         catch (TypeLoadException e)
         {
            Console.WriteLine("{0}: Unable to load type System.Int32", e.GetType().Name);
         }

         try {
             // Since NoneSuch does not exist in this assembly, GetType throws a TypeLoadException.
             Type myType2 = Type.GetType("NoneSuch", true);
             Console.WriteLine("The full name is {0}.", myType2.FullName);
         }
         catch(TypeLoadException e) {
            Console.WriteLine("{0}: Unable to load type NoneSuch", e.GetType().Name);
         }
     }
}
// The example displays the following output:
//       The full name is System.Int32.
//
//       TypeLoadException: Unable to load type NoneSuch
open System

try
    // Get the type of a specified class.
    let myType1 = Type.GetType "System.Int32"
    printfn $"The full name is {myType1.FullName}.\n"
with :? TypeLoadException as e ->
    printfn $"{e.GetType().Name}: Unable to load type System.Int32"

try
    // Since NoneSuch does not exist in this assembly, GetType throws a TypeLoadException.
    let myType2 = Type.GetType("NoneSuch", true)
    printfn $"The full name is {myType2.FullName}."
with :? TypeLoadException as e ->
    printfn $"{e.GetType().Name}: Unable to load type NoneSuch"
// The example displays the following output:
//       The full name is System.Int32.
//
//       TypeLoadException: Unable to load type NoneSuch
Class Example
     Public Shared Sub Main()
         Try
             ' Get the type of the specified class.
             Dim myType1 As Type = Type.GetType("System.Int32")
             Console.WriteLine("The full name is {0}.", myType1.FullName)
         Catch e As TypeLoadException
             Console.WriteLine("{0}: Unable to load type System.Int32",
                               e.GetType().Name)
         End Try

         Console.WriteLine()

         Try
             ' Since NoneSuch does not exist in this assembly, GetType throws a TypeLoadException.
             Dim myType2 As Type = Type.GetType("NoneSuch", True)
             Console.WriteLine("The full name is {0}.", myType2.FullName)
         Catch e As TypeLoadException
             Console.WriteLine("{0}: Unable to load type NoneSuch", e.GetType().Name)
         End Try
     End Sub
End Class
' The example displays the following output:
'       The full name is System.Int32.
'
'       TypeLoadException: Unable to load type NoneSuch

Açıklamalar

yöntemini kullanarak GetType başka bir derlemedeki bir Type tür için nesnesi elde edebilirsiniz. Derlemenin nitelenmiş adını biliyorsanız ve bu adı öğesinden AssemblyQualifiedNameelde edebilirsiniz. GetType içinde belirtilen derlemenin yüklenmesine typeNameneden olur. Ayrıca yöntemini kullanarak Assembly.Load bir derleme yükleyebilir ve nesneleri almak Type için veya Assembly.GetTypes yöntemini kullanabilirsinizAssembly.GetType. Bir tür derleme zamanında programınız tarafından bilinen bir derlemedeyse, C# dilinde veya GetType Visual Basic'teki işleçte kullanmak typeof daha verimlidir.

Uyarı

Bulunamazsa typeName yöntemine yapılan GetType(String) çağrı döndürür null. Özel durum oluşturmaz. Özel durumun oluşturup oluşturmadığını denetlemek için parametresi olan throwOnError yöntemin GetType aşırı yüklemesini çağırın.

Yalnızca .NET Framework: GetType yalnızca diskten yüklenen derlemelerde çalışır. Hizmetleri kullanarak System.Reflection.Emit tanımlanan dinamik derlemede tanımlanan bir türü aramak için çağırırsanız GetType tutarsız davranışlar alabilirsiniz. Bu davranış, dinamik derlemenin kalıcı olup olmadığına, yani sabit listesi veya Save erişim modları kullanılarak RunAndSave oluşturulup oluşturulmadığına System.Reflection.Emit.AssemblyBuilderAccess bağlıdır. Dinamik derleme kalıcıysa ve çağrılmadan önce GetType diske yazılmışsa, yükleyici diskte kaydedilen derlemeyi bulur, bu derlemeyi yükler ve türü bu derlemeden alır. Derleme çağrıldığında diske kaydedilmemişse GetType yöntemi döndürür null. GetType geçici dinamik derlemeleri anlamaz; bu nedenle, geçici dinamik derlemedeki bir türü almak için çağrısı GetType döndürür null.

.NET Framework'te dinamik modülde kullanmak GetType için AppDomain.AssemblyResolve olaya abone olun ve kaydetmeden önce çağrısı GetType yapın. Aksi takdirde, derlemenin bellekte iki kopyasını alırsınız.

.NET Core 3.0 ve sonraki sürümlerinde, bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.

Aşağıdaki tabloda, bir türe yansıtılırken yöntemler tarafından döndürülen temel sınıf üyeleri gösterilmektedir.

Üye Türü Static Statik Olmayan
Yapıcı Hayır Hayır
Alan Hayır Evet. Alan her zaman isim ve imzaya göre gizli olur.
Etkinlik Uygulanamaz Yaygın tür sistemi kuralı, özniteliği uygulayan yöntemlerdeki devralma ile aynıdır. Yansıma, özellikleri ada ve imzaya göre gizle olarak ele alır. Aşağıdaki 2. nota bakın.
Yöntem Hayır Evet. Bir yöntem (hem sanal hem de sanal olmayan) isim odaklı gizleme veya isim ve imza odaklı gizleme olabilir.
İç İçe Yerleştirilmiş Tür Hayır Hayır
Mülkiyet Uygulanamaz Yaygın tür sistemi kuralı, özniteliği uygulayan yöntemlerdeki devralma ile aynıdır. Yansıma, özellikleri ada ve imzaya göre gizle olarak ele alır. Aşağıdaki 2. nota bakın.
  1. Ad ve imzaya göre gizleme, özel değiştiriciler, dönüş türleri, parametre türleri, sentineller ve yönetilmeyen çağırma kuralları dahil olmak üzere, imzanın tüm parçalarını dikkate alır. Bu ikili karşılaştırmadır.

  2. Yansıma için, özellikler ve olaylar ada ve imzaya göre gizlenir. Temel sınıfta hem get hem de set erişimcisine sahip bir özelliğiniz varsa, ancak türetilen sınıfın yalnızca bir get erişimcisi varsa, türetilmiş sınıf özelliği temel sınıf özelliğini gizler ve temel sınıfta ayarlayıcıya erişemezsiniz.

  3. Özel öznitelikler ortak tür sisteminin bir parçası değildir.

Diziler veya COM türleri, kullanılabilir sınıflar tablosuna zaten yüklenmedikleri sürece aranmıyor.

typeName ad alanına göre nitelenmiş tür adı veya derleme adı belirtimi içeren bir derleme nitelikli adı olabilir. Bkz. AssemblyQualifiedName.

Ad alanını içeriyorsa ancak derleme adını içermiyorsa typeName , bu yöntem yalnızca çağıran nesnenin derlemesini ve mscorlib.dll/System.Private.CoreLib.dllbu sırada arar. typeName, kısmi veya tam derleme adıyla tam olarak nitelenmişse, bu yöntem belirtilen derlemede arar. Derlemenin tanımlayıcı bir adı varsa, tam bir derleme adı gerekir.

AssemblyQualifiedName özelliği iç içe türler, derleme adı ve genel tür bağımsız değişkenleri dahil olmak üzere tam tür adı döndürür. Ortak dil çalışma zamanını destekleyen tüm derleyiciler iç içe bir sınıfın basit adını yayar ve yansıma sorgulandığında aşağıdaki kurallar uyarınca bir mangled adı oluşturur.

Uyarı

İşlemci mimarisi, derleme kimliğinin bir parçasıdır ve derleme adı dizelerinin bir parçası olarak belirtilebilir. Örneğin, "ProcessorArchitecture=msil". Ancak, uyumluluk nedeniyle özelliği tarafından döndürülen dizeye AssemblyQualifiedName dahil değildir. Ayrıca, bir AssemblyName nesne oluşturup bunu yöntemin uygun bir aşırı yüklemesine Load geçirerek de türleri yükleyebilirsiniz. Ardından derlemeden türleri yüklemek için yöntemini kullanabilirsiniz Assembly.GetType . Ayrıca bkz. AssemblyName.ProcessorArchitecture.

Sınırlayıcı Anlamı
Ters eğik çizgi (\) Kaçış karakteri.
Backtick (') Genel bir türün adının sonunda bulunan tür parametrelerinin sayısını temsil eden bir veya daha fazla basamaktan önce.
Köşeli Ayraçlar ([]) Genel tür bağımsız değişken listesini, genel bir genel tür için içine alın; bir tür bağımsız değişken listesi içinde, derleme nitelikli bir türü içine alın.
Virgül (,) Derleme adından önce.
Dönem (.) Ad alanı tanımlayıcılarını belirtir.
Artı işareti (+) İç içe geçmiş bir sınıftan önce.

Örneğin, bir sınıfın tam adı şu şekilde görünebilir:

TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly

Ad alanı TopNamespace.Sub+Namespace ise, dizenin iç içe ayırıcı olarak yorumlanmasını önlemek için artı işaretinden (+) önce bir kaçış karakteri (\) olması gerekir. Yansıma bu dizeyi aşağıdaki gibi yayar:

TopNamespace.Sub\+Namespace.ContainingClass+NestedClass,MyAssembly

"++" "\+\+" olur ve "\" "\\" olur.

Bu nitelenmiş ad kalıcı hale gelebilir ve daha sonra yüklemek Typeiçin kullanılabilir. araması yapmak ve yüklemek Typeiçin yalnızca tür adıyla veya derleme türü adıyla kullanın GetType . GetType tür adıyla yalnızca çağıranın derlemesinde ve ardından Sistem derlemesinde öğesini arar Type . GetType derleme nitelikli tür adıyla, herhangi bir derlemede öğesini Type arar.

Tür adları, türün başvuru türü mü, işaretçi türü mü yoksa dizi türü mü olduğu gibi türle ilgili ek bilgileri belirten sondaki karakterleri içerebilir. Bu sonundaki karakterler olmadan tür adını almak için t.GetElementType().ToString()kullanın; burada t türdür.

Boşluklar, derleme adı dışındaki tüm tür adı bileşenlerinde geçerlidir. Derleme adında, ',' ayırıcıdan önceki boşluklar geçerlidir, ancak ',' ayırıcıdan sonraki boşluklar yoksayılır.

Genel bir türün adı, arka uç (') ve ardından genel tür bağımsız değişkenlerinin sayısını temsil eden basamaklarla biter. Bu ad düzenlemesinin amacı, derleyicilerin aynı ada sahip ancak aynı kapsamda farklı sayıda tür parametresi bulunan genel türleri desteklemesine izin vermektir. Örneğin, yansıma, genel yöntemlerden ve Visual Basic'te veya Tuple<T0, T1>Tuple<T> Visual C# içinde bulunan mangled adlarını Tuple`1 döndürür.Tuple`2Tuple(Of T)Tuple(Of T0, T1)

Genel türler için tür bağımsız değişkeni listesi köşeli ayraç içine alınır ve tür bağımsız değişkenleri virgülle ayrılır. Örneğin, bir genel Dictionary<TKey,TValue> iki tür parametresine sahiptir. Dictionary<TKey,TValue> Türü olan anahtarlardan biri MyTypeString aşağıdaki gibi gösterilebilir:

System.Collections.Generic.Dictionary`2[System.String,MyType]

Tür bağımsız değişken listesinde derleme nitelikli bir tür belirtmek için, derleme nitelikli türünü köşeli ayraç içine alın. Aksi takdirde, derleme nitelikli adının bölümlerini ayıran virgüller ek tür bağımsız değişkenlerini sınırlandırma olarak yorumlanır. Örneğin, Dictionary<TKey,TValue>MyType türünde anahtarlar Stringiçeren fromMyAssembly.dllaşağıdaki gibi belirtilebilir:

Type.GetType("System.Collections.Generic.Dictionary`2[System.String,[MyType,MyAssembly]]")

Uyarı

Derlemeye uygun bir tür, yalnızca tür parametre listesinde göründüğünde köşeli ayraç içine alınabilir. Tür parametre listelerindeki nitelenmiş ve nitelenmemiş türler için derlemeleri arama kuralları, nitelenmiş ve nitelenmemiş nongeneric türlerin kurallarıyla aynıdır.

Null atanabilir türler, genel türlerin özel bir örneğidir. Örneğin, null atanabilir Int32 değeri "System.Nullable'1[System.Int32]" dizesiyle gösterilir.

Uyarı

Tür işleçlerini kullanarak null atanabilir türler de alabilirsiniz. Örneğin, null atanabilir Boolean tür tarafından C# ve GetType(Nullable(Of Boolean)) Visual Basic içinde döndürülürtypeof(Nullable<bool>).

Aşağıdaki tabloda, çeşitli türler için kullandığınız GetType söz dizimi gösterilmektedir.

Almak için Kullan
Null atanabilir Int32 Type.GetType("System.Nullable`1[System.Int32]")
Yönetilmeyen işaretçi MyType Type.GetType("MyType*")
İşaretçinin yönetilmeyen işaretçisi MyType Type.GetType("MyType**")
Yönetilen işaretçi veya başvuru MyType Type.GetType("MyType&"). İşaretçilerden farklı olarak başvuruların bir düzeyle sınırlı olduğunu unutmayın.
Üst sınıf ve iç içe geçmiş sınıf Type.GetType("MyParentClass+MyNestedClass")
Alt sınırı 0 olan tek boyutlu bir dizi Type.GetType("MyType[]")
Bilinmeyen alt sınıra sahip tek boyutlu bir dizi Type.GetType("MyType[*]")
N boyutlu bir dizi Köşeli ayraçların içinde toplam n-1 kez virgül (,) olur. Örneğin, System.Object[,,] üç boyutlu Object bir diziyi temsil eder.
Tek boyutlu dizilerden oluşan bir dizi Type.GetType("MyType[][]")
Bilinmeyen alt sınırları olan dikdörtgen bir iki boyutlu dizi Type.GetType("MyType[,]")
Tek tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`1[MyType]")
İki tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`2[MyType,AnotherType]")
İki derlemeye uygun tür bağımsız değişkenine sahip genel bir tür Type.GetType("MyGenericType`2[[MyType,MyAssembly],[AnotherType,AnotherAssembly]]")
Derleme nitelikli tür bağımsız değişkenine sahip derleme nitelikli genel tür Type.GetType("MyGenericType`1[[MyType,MyAssembly]],MyGenericTypeAssembly")
Tür bağımsız değişkeni iki tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`1[AnotherGenericType`2[MyType,AnotherType]]")

Ayrıca bkz.

Şunlara uygulanır

GetType(String, Boolean)

Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs

Type belirtilen ada sahip olan öğesini alır, büyük/küçük harfe duyarlı bir arama gerçekleştirir ve tür bulunamazsa özel durum oluşturup oluşturmayacağını belirtir.

public:
 static Type ^ GetType(System::String ^ typeName, bool throwOnError);
public static Type GetType(string typeName, bool throwOnError);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")]
public static Type? GetType(string typeName, bool throwOnError);
public static Type? GetType(string typeName, bool throwOnError);
static member GetType : string * bool -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")>]
static member GetType : string * bool -> Type
Public Shared Function GetType (typeName As String, throwOnError As Boolean) As Type

Parametreler

typeName
String

Alınacak türün derleme nitelikli adı. Bkz. AssemblyQualifiedName. Tür şu anda yürütülen derlemede veya mscorlib.dll/System.Private.CoreLib.dlliçindeyse, ad alanına göre nitelenmiş tür adını sağlamak yeterlidir.

throwOnError
Boolean

true türü bulunamazsa özel durum oluşturma; false öğesini döndürecek null. Belirtme, false diğer bazı özel durum koşullarını da gizler, ancak tümünü gizlemez. Özel Durumlar bölümüne bakın.

Döndürülenler

Belirtilen ada sahip tür. Tür bulunamazsa, throwOnError parametresi döndürülür veya null bir özel durum oluşturulur belirtir. Bazı durumlarda, değerinden throwOnErrorbağımsız olarak bir özel durum oluşturulur. Özel Durumlar bölümüne bakın.

Öznitelikler

Özel durumlar

typeName, null'e eşittir.

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

throwOnError ve true türü bulunamadı.

-veya-

throwOnError typeName ve true ekli sekme gibi geçersiz karakterler içeriyor.

-veya-

throwOnError ve truetypeName boş bir dizedir.

-veya-

throwOnError typeName ve true geçersiz boyuta sahip bir dizi türünü temsil eder.

-veya-

typeName bir dizisini TypedReferencetemsil eder.

throwOnError typeName ve true geçersiz söz dizimi içeriyor. Örneğin, "MyType[,*,]".

-veya-

typeName, işaretçi türüne, türüne veya Void tür bağımsız değişkenlerinden biri olarak sahip olan genel bir ByRef türü temsil eder.

-veya-

typeName , yanlış sayıda tür bağımsız değişkeni olan genel bir türü temsil eder.

-veya-

typeName genel bir türü temsil eder ve tür bağımsız değişkenlerinden biri ilgili tür parametresinin kısıtlamalarını karşılamaz.

throwOnError ve true derleme veya bağımlılıklarından biri bulunamadı.

Derleme veya bağımlılıklarından biri bulundu, ancak yüklenemedi.

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.

Derleme veya bağımlılıklarından biri şu anda yüklü olan çalışma zamanı için geçerli değil.

Örnekler

Aşağıdaki örnek, System.Int32 türünü alır ve özelliğini System.Int32görüntülemek FullName için bu tür nesnesini kullanır. Tür nesnesi var olmayan bir derlemeye başvuruyorsa, bu örnek bir özel durum oluşturur.

using System;

class Example
{
     public static void Main()
     {
         try {
             // Get the type of a specified class.
             Type myType1 = Type.GetType("System.Int32");
             Console.WriteLine("The full name is {0}.\n", myType1.FullName);
         }
         catch (TypeLoadException e)
         {
            Console.WriteLine("{0}: Unable to load type System.Int32", e.GetType().Name);
         }

         try {
             // Since NoneSuch does not exist in this assembly, GetType throws a TypeLoadException.
             Type myType2 = Type.GetType("NoneSuch", true);
             Console.WriteLine("The full name is {0}.", myType2.FullName);
         }
         catch(TypeLoadException e) {
            Console.WriteLine("{0}: Unable to load type NoneSuch", e.GetType().Name);
         }
     }
}
// The example displays the following output:
//       The full name is System.Int32.
//
//       TypeLoadException: Unable to load type NoneSuch
open System

try
    // Get the type of a specified class.
    let myType1 = Type.GetType "System.Int32"
    printfn $"The full name is {myType1.FullName}.\n"
with :? TypeLoadException as e ->
    printfn $"{e.GetType().Name}: Unable to load type System.Int32"

try
    // Since NoneSuch does not exist in this assembly, GetType throws a TypeLoadException.
    let myType2 = Type.GetType("NoneSuch", true)
    printfn $"The full name is {myType2.FullName}."
with :? TypeLoadException as e ->
    printfn $"{e.GetType().Name}: Unable to load type NoneSuch"
// The example displays the following output:
//       The full name is System.Int32.
//
//       TypeLoadException: Unable to load type NoneSuch
Class Example
     Public Shared Sub Main()
         Try
             ' Get the type of the specified class.
             Dim myType1 As Type = Type.GetType("System.Int32")
             Console.WriteLine("The full name is {0}.", myType1.FullName)
         Catch e As TypeLoadException
             Console.WriteLine("{0}: Unable to load type System.Int32",
                               e.GetType().Name)
         End Try

         Console.WriteLine()

         Try
             ' Since NoneSuch does not exist in this assembly, GetType throws a TypeLoadException.
             Dim myType2 As Type = Type.GetType("NoneSuch", True)
             Console.WriteLine("The full name is {0}.", myType2.FullName)
         Catch e As TypeLoadException
             Console.WriteLine("{0}: Unable to load type NoneSuch", e.GetType().Name)
         End Try
     End Sub
End Class
' The example displays the following output:
'       The full name is System.Int32.
'
'       TypeLoadException: Unable to load type NoneSuch

Açıklamalar

yöntemini kullanarak GetType başka bir derlemedeki bir Type tür için nesnesi elde edebilirsiniz. Derlemenin nitelenmiş adını biliyorsanız ve bu adı öğesinden AssemblyQualifiedNameelde edebilirsiniz. GetType içinde belirtilen derlemenin yüklenmesine typeNameneden olur. Ayrıca yöntemini kullanarak Assembly.Load bir derleme yükleyebilir ve nesneleri almak Type için veya Assembly.GetTypes yöntemini kullanabilirsinizAssembly.GetType. Bir tür derleme zamanında programınız tarafından bilinen bir derlemedeyse, C# dilinde veya GetType Visual Basic'teki işleçte kullanmak typeof daha verimlidir.

Yalnızca .NET Framework: GetType yalnızca diskten yüklenen derlemelerde çalışır. Hizmetleri kullanarak System.Reflection.Emit tanımlanan dinamik derlemede tanımlanan bir türü aramak için çağırırsanız GetType tutarsız davranışlar alabilirsiniz. Bu davranış, dinamik derlemenin kalıcı olup olmadığına, yani sabit listesi veya Save erişim modları kullanılarak RunAndSave oluşturulup oluşturulmadığına System.Reflection.Emit.AssemblyBuilderAccess bağlıdır. Dinamik derleme kalıcıysa ve çağrılmadan önce GetType diske yazılmışsa, yükleyici diskte kaydedilen derlemeyi bulur, bu derlemeyi yükler ve türü bu derlemeden alır. Derleme çağrıldığında diske kaydedilmemişse GetType yöntemi döndürür null. GetType geçici dinamik derlemeleri anlamaz; bu nedenle, geçici dinamik derlemedeki bir türü almak için çağrısı GetType döndürür null.

.NET Framework'te dinamik modülde kullanmak GetType için AppDomain.AssemblyResolve olaya abone olun ve kaydetmeden önce çağrısı GetType yapın. Aksi takdirde, derlemenin bellekte iki kopyasını alırsınız.

.NET Core 3.0 ve sonraki sürümlerinde, bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.

throwOnError parametresi, tür bulunamadığında ne olacağını belirtir ve özel durumlar bölümünde açıklandığı gibi diğer bazı özel durum koşullarını gizler. bazı özel durumlar değeri throwOnErrorne olursa olsun oluşturulur. Örneğin, tür bulunur ancak yüklenemezse, olsa throwOnErrorfalsebile bir TypeLoadException oluşturulur.

Aşağıdaki tabloda, bir türe yansıtılırken yöntemler tarafından döndürülen temel sınıf üyeleri gösterilmektedir.

Üye Türü Static Statik Olmayan
Yapıcı Hayır Hayır
Alan Hayır Evet. Alan her zaman isim ve imzaya göre gizli olur.
Etkinlik Uygulanamaz Yaygın tür sistemi kuralı, özniteliği uygulayan yöntemlerdeki devralma ile aynıdır. Yansıma, özellikleri ada ve imzaya göre gizle olarak ele alır. Aşağıdaki 2. nota bakın.
Yöntem Hayır Evet. Bir yöntem (hem sanal hem de sanal olmayan) isim odaklı gizleme veya isim ve imza odaklı gizleme olabilir.
İç İçe Yerleştirilmiş Tür Hayır Hayır
Mülkiyet Uygulanamaz Yaygın tür sistemi kuralı, özniteliği uygulayan yöntemlerdeki devralma ile aynıdır. Yansıma, özellikleri ada ve imzaya göre gizle olarak ele alır. Aşağıdaki 2. nota bakın.
  1. Ad ve imzaya göre gizleme, özel değiştiriciler, dönüş türleri, parametre türleri, sentineller ve yönetilmeyen çağırma kuralları dahil olmak üzere, imzanın tüm parçalarını dikkate alır. Bu ikili karşılaştırmadır.

  2. Yansıma için, özellikler ve olaylar ada ve imzaya göre gizlenir. Temel sınıfta hem get hem de set erişimcisine sahip bir özelliğiniz varsa, ancak türetilen sınıfın yalnızca bir get erişimcisi varsa, türetilmiş sınıf özelliği temel sınıf özelliğini gizler ve temel sınıfta ayarlayıcıya erişemezsiniz.

  3. Özel öznitelikler ortak tür sisteminin bir parçası değildir.

Diziler veya COM türleri, kullanılabilir sınıflar tablosuna zaten yüklenmedikleri sürece aranmıyor.

typeName ad alanına göre nitelenmiş tür adı veya derleme adı belirtimi içeren bir derleme nitelikli adı olabilir. Bkz. AssemblyQualifiedName.

Ad alanını içeriyorsa ancak derleme adını içermiyorsa typeName , bu yöntem yalnızca çağıran nesnenin derlemesini ve mscorlib.dll/System.Private.CoreLib.dllbu sırada arar. typeName, kısmi veya tam derleme adıyla tam olarak nitelenmişse, bu yöntem belirtilen derlemede arar. Derlemenin tanımlayıcı bir adı varsa, tam bir derleme adı gerekir.

AssemblyQualifiedName özelliği iç içe türler, derleme adı ve genel bağımsız değişkenler dahil olmak üzere tam tür adı döndürür. Ortak dil çalışma zamanını destekleyen tüm derleyiciler iç içe bir sınıfın basit adını yayar ve yansıma sorgulandığında aşağıdaki kurallar uyarınca bir mangled adı oluşturur.

Uyarı

İşlemci mimarisi, derleme kimliğinin bir parçasıdır ve derleme adı dizelerinin bir parçası olarak belirtilebilir. Örneğin, "ProcessorArchitecture=msil". Ancak, uyumluluk nedeniyle özelliği tarafından döndürülen dizeye AssemblyQualifiedName dahil değildir. Ayrıca, bir AssemblyName nesne oluşturup bunu yöntemin uygun bir aşırı yüklemesine Load geçirerek de türleri yükleyebilirsiniz. Ardından derlemeden türleri yüklemek için yöntemini kullanabilirsiniz Assembly.GetType . Ayrıca bkz. AssemblyName.ProcessorArchitecture.

Sınırlayıcı Anlamı
Ters eğik çizgi (\) Kaçış karakteri.
Backtick (') Genel bir türün adının sonunda bulunan tür parametrelerinin sayısını temsil eden bir veya daha fazla basamaktan önce.
Köşeli Ayraçlar ([]) Genel tür bağımsız değişken listesini, genel bir genel tür için içine alın; bir tür bağımsız değişken listesi içinde, derleme nitelikli bir türü içine alın.
Virgül (,) Derleme adından önce.
Dönem (.) Ad alanı tanımlayıcılarını belirtir.
Artı işareti (+) İç içe geçmiş bir sınıftan önce.

Örneğin, bir sınıfın tam adı şu şekilde görünebilir:

TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly

Ad alanı TopNamespace.Sub+Namespace ise, dizenin iç içe ayırıcı olarak yorumlanmasını önlemek için artı işaretinden (+) önce bir kaçış karakteri (\) olması gerekir. Yansıma bu dizeyi aşağıdaki gibi yayar:

TopNamespace.Sub\+Namespace.ContainingClass+NestedClass,MyAssembly

"++" "\+\+" olur ve "\" "\\" olur.

Bu nitelenmiş ad kalıcı hale gelebilir ve daha sonra yüklemek Typeiçin kullanılabilir. araması yapmak ve yüklemek Typeiçin yalnızca tür adıyla veya derleme türü adıyla kullanın GetType . GetType tür adıyla yalnızca çağıranın derlemesinde ve ardından Sistem derlemesinde öğesini arar Type . GetType derleme nitelikli tür adıyla, herhangi bir derlemede öğesini Type arar.

Tür adları, türün başvuru türü mü, işaretçi türü mü yoksa dizi türü mü olduğu gibi türle ilgili ek bilgileri belirten sondaki karakterleri içerebilir. Bu sonundaki karakterler olmadan tür adını almak için t.GetElementType().ToString()kullanın; burada t türdür.

Boşluklar, derleme adı dışındaki tüm tür adı bileşenlerinde geçerlidir. Derleme adında, ',' ayırıcıdan önceki boşluklar geçerlidir, ancak ',' ayırıcıdan sonraki boşluklar yoksayılır.

Genel bir türün adı, arka uç (') ve ardından genel tür bağımsız değişkenlerinin sayısını temsil eden basamaklarla biter. Bu ad düzenlemesinin amacı, derleyicilerin aynı ada sahip ancak aynı kapsamda farklı sayıda tür parametresi bulunan genel türleri desteklemesine izin vermektir. Örneğin, yansıma, genel yöntemlerden ve Visual Basic'te veya Tuple<T0, T1>Tuple<T> Visual C# içinde bulunan mangled adlarını Tuple`1 döndürür.Tuple`2Tuple(Of T)Tuple(Of T0, T1)

Genel türler için tür bağımsız değişkeni listesi köşeli ayraç içine alınır ve tür bağımsız değişkenleri virgülle ayrılır. Örneğin, bir genel Dictionary<TKey,TValue> iki tür parametresine sahiptir. Dictionary<TKey,TValue> Türü olan anahtarlardan biri MyTypeString aşağıdaki gibi gösterilebilir:

System.Collections.Generic.Dictionary`2[System.String,MyType]

Tür bağımsız değişken listesinde derleme nitelikli bir tür belirtmek için, derleme nitelikli türünü köşeli ayraç içine alın. Aksi takdirde, derleme nitelikli adının bölümlerini ayıran virgüller ek tür bağımsız değişkenlerini sınırlandırma olarak yorumlanır. Örneğin, MyAssembly.dlltüründe anahtarlara Stringsahip bir Dictionary<TKey,TValue>MyType türü aşağıdaki gibi belirtilebilir:

Type.GetType("System.Collections.Generic.Dictionary`2[System.String,[MyType,MyAssembly]]")

Uyarı

Derlemeye uygun bir tür, yalnızca tür parametre listesinde göründüğünde köşeli ayraç içine alınabilir. Tür parametre listelerindeki nitelenmiş ve nitelenmemiş türler için derlemeleri arama kuralları, nitelenmiş ve nitelenmemiş nongeneric türlerin kurallarıyla aynıdır.

Null atanabilir türler, genel türlerin özel bir örneğidir. Örneğin, null atanabilir Int32 değeri "System.Nullable'1[System.Int32]" dizesiyle gösterilir.

Uyarı

Tür işleçlerini kullanarak null atanabilir türler de alabilirsiniz. Örneğin, null atanabilir Boolean tür tarafından C# ve GetType(Nullable(Of Boolean)) Visual Basic içinde döndürülürtypeof(Nullable<bool>).

Aşağıdaki tabloda, çeşitli türler için kullandığınız GetType söz dizimi gösterilmektedir.

Almak için Kullan
Null atanabilir Int32 Type.GetType("System.Nullable`1[System.Int32]")
Yönetilmeyen işaretçi MyType Type.GetType("MyType*")
İşaretçinin yönetilmeyen işaretçisi MyType Type.GetType("MyType**")
Yönetilen işaretçi veya başvuru MyType Type.GetType("MyType&"). İşaretçilerden farklı olarak başvuruların bir düzeyle sınırlı olduğunu unutmayın.
Üst sınıf ve iç içe geçmiş sınıf Type.GetType("MyParentClass+MyNestedClass")
Alt sınırı 0 olan tek boyutlu bir dizi Type.GetType("MyArray[]")
Bilinmeyen alt sınıra sahip tek boyutlu bir dizi Type.GetType("MyArray[*]")
N boyutlu bir dizi Köşeli ayraçların içinde toplam n-1 kez virgül (,) olur. Örneğin, System.Object[,,] üç boyutlu Object bir diziyi temsil eder.
İki boyutlu bir dizinin dizisi Type.GetType("MyArray[][]")
Bilinmeyen alt sınırları olan dikdörtgen bir iki boyutlu dizi Type.GetType("MyArray[,]")
Tek tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`1[MyType]")
İki tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`2[MyType,AnotherType]")
İki derlemeye uygun tür bağımsız değişkenine sahip genel bir tür Type.GetType("MyGenericType`2[[MyType,MyAssembly],[AnotherType,AnotherAssembly]]")
Derleme nitelikli tür bağımsız değişkenine sahip derleme nitelikli genel tür Type.GetType("MyGenericType`1[[MyType,MyAssembly]],MyGenericTypeAssembly")
Tür bağımsız değişkeni iki tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`1[AnotherGenericType`2[MyType,AnotherType]]")

Ayrıca bkz.

Şunlara uygulanır

GetType(String, Boolean, Boolean)

Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs

Type türü bulunamazsa özel durum oluşturup oluşturmayacağını ve büyük/küçük harfe duyarlı bir arama yapılıp yapılmayacağını belirterek belirtilen ada sahip değerini alır.

public:
 static Type ^ GetType(System::String ^ typeName, bool throwOnError, bool ignoreCase);
public static Type GetType(string typeName, bool throwOnError, bool ignoreCase);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")]
public static Type? GetType(string typeName, bool throwOnError, bool ignoreCase);
public static Type? GetType(string typeName, bool throwOnError, bool ignoreCase);
static member GetType : string * bool * bool -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")>]
static member GetType : string * bool * bool -> Type
Public Shared Function GetType (typeName As String, throwOnError As Boolean, ignoreCase As Boolean) As Type

Parametreler

typeName
String

Alınacak türün derleme nitelikli adı. Bkz. AssemblyQualifiedName. Tür şu anda yürütülen derlemede veya mscorlib.dll/System.Private.CoreLib.dlliçindeyse, ad alanına göre nitelenmiş tür adını sağlamak yeterlidir.

throwOnError
Boolean

true türü bulunamazsa özel durum oluşturma; false öğesini döndürecek null. Belirtme, false diğer bazı özel durum koşullarını da gizler, ancak tümünü gizlemez. Özel Durumlar bölümüne bakın.

ignoreCase
Boolean

trueiçin büyük/küçük harfe duyarlı olmayan bir arama yapmak üzere typeNamefalse için büyük/küçük harfe duyarlı bir arama yapmak içintypeName.

Döndürülenler

Belirtilen ada sahip tür. Tür bulunamazsa, throwOnError parametresi döndürülür veya null bir özel durum oluşturulur belirtir. Bazı durumlarda, değerinden throwOnErrorbağımsız olarak bir özel durum oluşturulur. Özel Durumlar bölümüne bakın.

Öznitelikler

Özel durumlar

typeName, null'e eşittir.

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

throwOnError ve true türü bulunamadı.

-veya-

throwOnError typeName ve true ekli sekme gibi geçersiz karakterler içeriyor.

-veya-

throwOnError ve truetypeName boş bir dizedir.

-veya-

throwOnError typeName ve true geçersiz boyuta sahip bir dizi türünü temsil eder.

-veya-

typeName bir dizisini TypedReferencetemsil eder.

throwOnError typeName ve true geçersiz söz dizimi içeriyor. Örneğin, "MyType[,*,]".

-veya-

typeName, işaretçi türüne, türüne veya Void tür bağımsız değişkenlerinden biri olarak sahip olan genel bir ByRef türü temsil eder.

-veya-

typeName , yanlış sayıda tür bağımsız değişkeni olan genel bir türü temsil eder.

-veya-

typeName genel bir türü temsil eder ve tür bağımsız değişkenlerinden biri ilgili tür parametresinin kısıtlamalarını karşılamaz.

throwOnError ve true derleme veya bağımlılıklarından biri bulunamadı.

Derleme veya bağımlılıklarından biri bulundu, ancak yüklenemedi.

Derleme, şu anda yüklü olan çalışma zamanı için geçerli değil.

Açıklamalar

yöntemini kullanarak GetType başka bir derlemedeki bir Type tür için nesnesi elde edebilirsiniz. Derlemenin nitelenmiş adını biliyorsanız ve bu adı öğesinden AssemblyQualifiedNameelde edebilirsiniz. GetType içinde belirtilen derlemenin yüklenmesine typeNameneden olur. Ayrıca yöntemini kullanarak Assembly.Load bir derleme yükleyebilir ve nesneleri almak Type için veya Assembly.GetTypes yöntemini kullanabilirsinizAssembly.GetType. Bir tür derleme zamanında programınız tarafından bilinen bir derlemedeyse, C# dilinde veya GetType Visual Basic'teki işleçte kullanmak typeof daha verimlidir.

Yalnızca .NET Framework: GetType yalnızca diskten yüklenen derlemelerde çalışır. Hizmetleri kullanarak System.Reflection.Emit tanımlanan dinamik derlemede tanımlanan bir türü aramak için çağırırsanız GetType tutarsız davranışlar alabilirsiniz. Bu davranış, dinamik derlemenin kalıcı olup olmadığına, yani sabit listesi veya Save erişim modları kullanılarak RunAndSave oluşturulup oluşturulmadığına System.Reflection.Emit.AssemblyBuilderAccess bağlıdır. Dinamik derleme kalıcıysa ve çağrılmadan önce GetType diske yazılmışsa, yükleyici diskte kaydedilen derlemeyi bulur, bu derlemeyi yükler ve türü bu derlemeden alır. Derleme çağrıldığında diske kaydedilmemişse GetType yöntemi döndürür null. GetType geçici dinamik derlemeleri anlamaz; bu nedenle, geçici dinamik derlemedeki bir türü almak için çağrısı GetType döndürür null.

.NET Framework'te dinamik modülde kullanmak GetType için AppDomain.AssemblyResolve olaya abone olun ve kaydetmeden önce çağrısı GetType yapın. Aksi takdirde, derlemenin bellekte iki kopyasını alırsınız.

.NET Core 3.0 ve sonraki sürümlerinde, bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.

throwOnError parametresi, tür bulunamadığında ne olacağını belirtir ve özel durumlar bölümünde açıklandığı gibi diğer bazı özel durum koşullarını gizler. bazı özel durumlar değeri throwOnErrorne olursa olsun oluşturulur. Örneğin, tür bulunur ancak yüklenemezse, olsa throwOnErrorfalsebile bir TypeLoadException oluşturulur.

Aşağıdaki tabloda, bir türe yansıtılırken yöntemler tarafından döndürülen temel sınıf üyeleri gösterilmektedir.

Üye Türü Static Statik Olmayan
Yapıcı Hayır Hayır
Alan Hayır Evet. Alan her zaman isim ve imzaya göre gizli olur.
Etkinlik Uygulanamaz Yaygın tür sistemi kuralı, özniteliği uygulayan yöntemlerdeki devralma ile aynıdır. Yansıma, özellikleri ada ve imzaya göre gizle olarak ele alır. Aşağıdaki 2. nota bakın.
Yöntem Hayır Evet. Bir yöntem (hem sanal hem de sanal olmayan) isim odaklı gizleme veya isim ve imza odaklı gizleme olabilir.
İç İçe Yerleştirilmiş Tür Hayır Hayır
Mülkiyet Uygulanamaz Yaygın tür sistemi kuralı, özniteliği uygulayan yöntemlerdeki devralma ile aynıdır. Yansıma, özellikleri ada ve imzaya göre gizle olarak ele alır. Aşağıdaki 2. nota bakın.
  1. Ad ve imzaya göre gizleme, özel değiştiriciler, dönüş türleri, parametre türleri, sentineller ve yönetilmeyen çağırma kuralları dahil olmak üzere, imzanın tüm parçalarını dikkate alır. Bu ikili karşılaştırmadır.

  2. Yansıma için, özellikler ve olaylar ada ve imzaya göre gizlenir. Temel sınıfta hem get hem de set erişimcisine sahip bir özelliğiniz varsa, ancak türetilen sınıfın yalnızca bir get erişimcisi varsa, türetilmiş sınıf özelliği temel sınıf özelliğini gizler ve temel sınıfta ayarlayıcıya erişemezsiniz.

  3. Özel öznitelikler ortak tür sisteminin bir parçası değildir.

Diziler veya COM türleri, kullanılabilir sınıflar tablosuna zaten yüklenmedikleri sürece aranmıyor.

typeName ad alanına göre nitelenmiş tür adı veya derleme adı belirtimi içeren bir derleme nitelikli adı olabilir. Bkz. AssemblyQualifiedName.

Ad alanını içeriyorsa ancak derleme adını içermiyorsa typeName , bu yöntem yalnızca çağıran nesnenin derlemesini ve mscorlib.dll/System.Private.CoreLib.dllbu sırada arar. typeName, kısmi veya tam derleme adıyla tam olarak nitelenmişse, bu yöntem belirtilen derlemede arar. Derlemenin tanımlayıcı bir adı varsa, tam bir derleme adı gerekir.

AssemblyQualifiedName özelliği iç içe türler, derleme adı ve tür bağımsız değişkenleri dahil olmak üzere tam tür adı döndürür. Ortak dil çalışma zamanını destekleyen tüm derleyiciler iç içe bir sınıfın basit adını yayar ve yansıma sorgulandığında aşağıdaki kurallar uyarınca bir mangled adı oluşturur.

Uyarı

İşlemci mimarisi, derleme kimliğinin bir parçasıdır ve derleme adı dizelerinin bir parçası olarak belirtilebilir. Örneğin, "ProcessorArchitecture=msil". Ancak, uyumluluk nedeniyle özelliği tarafından döndürülen dizeye AssemblyQualifiedName dahil değildir. Ayrıca, bir AssemblyName nesne oluşturup bunu yöntemin uygun bir aşırı yüklemesine Load geçirerek de türleri yükleyebilirsiniz. Ardından derlemeden türleri yüklemek için yöntemini kullanabilirsiniz Assembly.GetType . Ayrıca bkz. AssemblyName.ProcessorArchitecture.

Sınırlayıcı Anlamı
Ters eğik çizgi (\) Kaçış karakteri.
Backtick (') Genel bir türün adının sonunda bulunan tür parametrelerinin sayısını temsil eden bir veya daha fazla basamaktan önce.
Köşeli Ayraçlar ([]) Genel tür bağımsız değişken listesini, genel bir genel tür için içine alın; bir tür bağımsız değişken listesi içinde, derleme nitelikli bir türü içine alın.
Virgül (,) Derleme adından önce.
Dönem (.) Ad alanı tanımlayıcılarını belirtir.
Artı işareti (+) İç içe geçmiş bir sınıftan önce.

Örneğin, bir sınıfın tam adı şu şekilde görünebilir:

TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly

Ad alanı TopNamespace.Sub+Namespace ise, dizenin iç içe ayırıcı olarak yorumlanmasını önlemek için artı işaretinden (+) önce bir kaçış karakteri (\) olması gerekir. Yansıma bu dizeyi aşağıdaki gibi yayar:

TopNamespace.Sub\+Namespace.ContainingClass+NestedClass,MyAssembly

"++" "\+\+" olur ve "\" "\\" olur.

Bu nitelenmiş ad kalıcı hale gelebilir ve daha sonra yüklemek Typeiçin kullanılabilir. araması yapmak ve yüklemek Typeiçin yalnızca tür adıyla veya derleme türü adıyla kullanın GetType . GetType tür adıyla yalnızca çağıranın derlemesinde ve ardından Sistem derlemesinde öğesini arar Type . GetType derleme nitelikli tür adıyla, herhangi bir derlemede öğesini Type arar.

Tür adları, türün başvuru türü mü, işaretçi türü mü yoksa dizi türü mü olduğu gibi türle ilgili ek bilgileri belirten sondaki karakterleri içerebilir. Bu sonundaki karakterler olmadan tür adını almak için t.GetElementType().ToString()kullanın; burada t türdür.

Boşluklar, derleme adı dışındaki tüm tür adı bileşenlerinde geçerlidir. Derleme adında, ',' ayırıcıdan önceki boşluklar geçerlidir, ancak ',' ayırıcıdan sonraki boşluklar yoksayılır.

Genel bir türün adı, arka uç (') ve ardından genel tür bağımsız değişkenlerinin sayısını temsil eden basamaklarla biter. Bu ad düzenlemesinin amacı, derleyicilerin aynı ada sahip ancak aynı kapsamda farklı sayıda tür parametresi bulunan genel türleri desteklemesine izin vermektir. Örneğin, yansıma, genel yöntemlerden ve Visual Basic'te veya Tuple<T0, T1>Tuple<T> Visual C# içinde bulunan mangled adlarını Tuple`1 döndürür.Tuple`2Tuple(Of T)Tuple(Of T0, T1)

Genel türler için tür bağımsız değişkeni listesi köşeli ayraç içine alınır ve tür bağımsız değişkenleri virgülle ayrılır. Örneğin, bir genel Dictionary<TKey,TValue> iki tür parametresine sahiptir. Dictionary<TKey,TValue> Türü olan anahtarlardan biri MyTypeString aşağıdaki gibi gösterilebilir:

System.Collections.Generic.Dictionary`2[System.String,MyType]

Tür bağımsız değişken listesinde derleme nitelikli bir tür belirtmek için, derleme nitelikli türünü köşeli ayraç içine alın. Aksi takdirde, derleme nitelikli adının bölümlerini ayıran virgüller ek tür bağımsız değişkenlerini sınırlandırma olarak yorumlanır. Örneğin, MyAssembly.dlltüründe anahtarlara Stringsahip bir Dictionary<TKey,TValue>MyType türü aşağıdaki gibi belirtilebilir:

Type.GetType("System.Collections.Generic.Dictionary`2[System.String,[MyType,MyAssembly]]")

Uyarı

Derlemeye uygun bir tür, yalnızca tür parametre listesinde göründüğünde köşeli ayraç içine alınabilir. Tür parametre listelerindeki nitelenmiş ve nitelenmemiş türler için derlemeleri arama kuralları, nitelenmiş ve nitelenmemiş nongeneric türlerin kurallarıyla aynıdır.

Null atanabilir türler, genel türlerin özel bir örneğidir. Örneğin, null atanabilir Int32 değeri "System.Nullable'1[System.Int32]" dizesiyle gösterilir.

Uyarı

Tür işleçlerini kullanarak null atanabilir türler de alabilirsiniz. Örneğin, null atanabilir Boolean tür tarafından C# ve GetType(Nullable(Of Boolean)) Visual Basic içinde döndürülürtypeof(Nullable<bool>).

Aşağıdaki tabloda, çeşitli türler için kullandığınız GetType söz dizimi gösterilmektedir.

Almak için Kullan
Null atanabilir Int32 Type.GetType("System.Nullable`1[System.Int32]")
Yönetilmeyen işaretçi MyType Type.GetType("MyType*")
İşaretçinin yönetilmeyen işaretçisi MyType Type.GetType("MyType**")
Yönetilen işaretçi veya başvuru MyType Type.GetType("MyType&"). İşaretçilerden farklı olarak başvuruların bir düzeyle sınırlı olduğunu unutmayın.
Üst sınıf ve iç içe geçmiş sınıf Type.GetType("MyParentClass+MyNestedClass")
Alt sınırı 0 olan tek boyutlu bir dizi Type.GetType("MyArray[]")
Bilinmeyen alt sınıra sahip tek boyutlu bir dizi Type.GetType("MyArray[*]")
N boyutlu bir dizi Köşeli ayraçların içinde toplam n-1 kez virgül (,) olur. Örneğin, System.Object[,,] üç boyutlu Object bir diziyi temsil eder.
İki boyutlu bir dizinin dizisi Type.GetType("MyArray[][]")
Bilinmeyen alt sınırları olan dikdörtgen bir iki boyutlu dizi Type.GetType("MyArray[,]")
Tek tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`1[MyType]")
İki tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`2[MyType,AnotherType]")
İki derlemeye uygun tür bağımsız değişkenine sahip genel bir tür Type.GetType("MyGenericType`2[[MyType,MyAssembly],[AnotherType,AnotherAssembly]]")
Derleme nitelikli tür bağımsız değişkenine sahip derleme nitelikli genel tür Type.GetType("MyGenericType`1[[MyType,MyAssembly]],MyGenericTypeAssembly")
Tür bağımsız değişkeni iki tür bağımsız değişkeni olan genel bir tür Type.GetType("MyGenericType`1[AnotherGenericType`2[MyType,AnotherType]]")

Ayrıca bkz.

Şunlara uygulanır

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>)

Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs

Türü belirtilen ada sahip alır ve isteğe bağlı olarak derlemeyi ve türü çözümlemek için özel yöntemler sağlar.

public:
 static Type ^ GetType(System::String ^ typeName, Func<System::Reflection::AssemblyName ^, System::Reflection::Assembly ^> ^ assemblyResolver, Func<System::Reflection::Assembly ^, System::String ^, bool, Type ^> ^ typeResolver);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")]
public static Type? GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly?>? assemblyResolver, Func<System.Reflection.Assembly?,string,bool,Type?>? typeResolver);
public static Type GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly> assemblyResolver, Func<System.Reflection.Assembly,string,bool,Type> typeResolver);
public static Type? GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly?>? assemblyResolver, Func<System.Reflection.Assembly?,string,bool,Type?>? typeResolver);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")>]
static member GetType : string * Func<System.Reflection.AssemblyName, System.Reflection.Assembly> * Func<System.Reflection.Assembly, string, bool, Type> -> Type
static member GetType : string * Func<System.Reflection.AssemblyName, System.Reflection.Assembly> * Func<System.Reflection.Assembly, string, bool, Type> -> Type
Public Shared Function GetType (typeName As String, assemblyResolver As Func(Of AssemblyName, Assembly), typeResolver As Func(Of Assembly, String, Boolean, Type)) As Type

Parametreler

typeName
String

Alınacak türün adı. typeResolver Parametresi sağlanırsa, tür adı çözümlenebilen herhangi bir dize typeResolver olabilir. assemblyResolver Parametre sağlanmışsa veya standart tür çözümlemesi kullanılıyorsa, typeName türün yürütülmekte olan derlemede veya mscorlib.dll/System.Private.CoreLib.dlliçinde olmadığı sürece, derlemenin nitelenmiş adı olmalıdır (bkzAssemblyQualifiedName. ), bu durumda ad alanına uygun tür adını sağlamak yeterlidir.

assemblyResolver
Func<AssemblyName,Assembly>

içinde typeNamebelirtilen derlemeyi bulup döndüren bir yöntem. Derleme adı nesnesi AssemblyName olarak geçirilirassemblyResolver. Bir derlemenin adını içermiyorsa typeName çağrılmaz assemblyResolver . assemblyResolver Sağlanmazsa, standart derleme çözümlemesi gerçekleştirilir.

Dikkat: Bilinmeyen veya güvenilmeyen arayanların yöntemlerini geçirmeyin. Bunun yapılması kötü amaçlı kod için ayrıcalıkların yükseltilmesine neden olabilir. Yalnızca sağladığınız veya bildiğiniz yöntemleri kullanın.

typeResolver
Func<Assembly,String,Boolean,Type>

tarafından veya standart derleme çözümlemesi tarafından typeName döndürülen assemblyResolver derlemeden tarafından belirtilen türü bulup döndüren bir yöntem. Herhangi bir derleme sağlanmazsa typeResolver , yöntemi bir tane sağlayabilir. yöntemi ayrıca büyük/küçük harfe duyarlı olmayan bir arama yapılıp yapılmayacağını belirten bir parametre alır; false bu parametreye geçirilir.

Dikkat: Bilinmeyen veya güvenilmeyen arayanların yöntemlerini geçirmeyin.

Döndürülenler

Belirtilen ada sahip tür veya null tür bulunamazsa.

Öznitelikler

Özel durumlar

typeName, null'e eşittir.

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

Bir tür adına ve derleme adına ayrıştırıldığında typeName bir hata oluşur (örneğin, basit tür adı sıralanmamış bir özel karakter içerdiğinde).

-veya-

typeName, işaretçi türüne, türüne veya Void tür bağımsız değişkenlerinden biri olarak sahip olan genel bir ByRef türü temsil eder.

-veya-

typeName , yanlış sayıda tür bağımsız değişkeni olan genel bir türü temsil eder.

-veya-

typeName genel bir türü temsil eder ve tür bağımsız değişkenlerinden biri ilgili tür parametresinin kısıtlamalarını karşılamaz.

typeName geçersiz bir türü, örneğin bir dizisini TypedReferencetemsil eder.

Derleme veya bağımlılıklarından biri bulundu, ancak yüklenemedi.

-veya-

typeName geçersiz bir derleme adı içeriyor.

-veya-

typeName tür adı olmayan geçerli bir derleme adıdır.

Derleme veya bağımlılıklarından biri şu anda yüklü olan çalışma zamanı için geçerli değil.

Açıklamalar

Bu yöntem için kullanım senaryoları ve ve typeResolver parametreleriyle ilgili assemblyResolver ayrıntılar yöntem aşırı yüklemesinde GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean) bulunabilir.

Uyarı

Bulunamazsa typeName yöntemine yapılan GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>) çağrı döndürür null. Özel durum oluşturmaz. Özel durumun oluşturup oluşturmadığını denetlemek için parametresi olan throwOnError yöntemin GetType aşırı yüklemesini çağırın.

Bu yöntem aşırı yüklemesini çağırmak, yöntem aşırı yüklemesini GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean) çağırmak ve ve ignoreCase parametreleri için belirtmekle falsethrowOnError aynıdır.

Şunlara uygulanır

GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean)

Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs
Kaynak:
Type.CoreCLR.cs

Belirtilen ada sahip türü alır, tür bulunamazsa özel durum oluşturup oluşturmayacağını belirtir ve isteğe bağlı olarak derlemeyi ve türü çözümlemek için özel yöntemler sağlar.

public:
 static Type ^ GetType(System::String ^ typeName, Func<System::Reflection::AssemblyName ^, System::Reflection::Assembly ^> ^ assemblyResolver, Func<System::Reflection::Assembly ^, System::String ^, bool, Type ^> ^ typeResolver, bool throwOnError);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")]
public static Type? GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly?>? assemblyResolver, Func<System.Reflection.Assembly?,string,bool,Type?>? typeResolver, bool throwOnError);
public static Type GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly> assemblyResolver, Func<System.Reflection.Assembly,string,bool,Type> typeResolver, bool throwOnError);
public static Type? GetType(string typeName, Func<System.Reflection.AssemblyName,System.Reflection.Assembly?>? assemblyResolver, Func<System.Reflection.Assembly?,string,bool,Type?>? typeResolver, bool throwOnError);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The type might be removed")>]
static member GetType : string * Func<System.Reflection.AssemblyName, System.Reflection.Assembly> * Func<System.Reflection.Assembly, string, bool, Type> * bool -> Type
static member GetType : string * Func<System.Reflection.AssemblyName, System.Reflection.Assembly> * Func<System.Reflection.Assembly, string, bool, Type> * bool -> Type
Public Shared Function GetType (typeName As String, assemblyResolver As Func(Of AssemblyName, Assembly), typeResolver As Func(Of Assembly, String, Boolean, Type), throwOnError As Boolean) As Type

Parametreler

typeName
String

Alınacak türün adı. typeResolver Parametresi sağlanırsa, tür adı çözümlenebilen herhangi bir dize typeResolver olabilir. assemblyResolver Parametre sağlanmışsa veya standart tür çözümlemesi kullanılıyorsa, typeName türün yürütülmekte olan derlemede veya mscorlib.dll/System.Private.CoreLib.dlliçinde olmadığı sürece, derlemenin nitelenmiş adı olmalıdır (bkzAssemblyQualifiedName. ), bu durumda ad alanına uygun tür adını sağlamak yeterlidir.

assemblyResolver
Func<AssemblyName,Assembly>

içinde typeNamebelirtilen derlemeyi bulup döndüren bir yöntem. Derleme adı nesnesi AssemblyName olarak geçirilirassemblyResolver. Bir derlemenin adını içermiyorsa typeName çağrılmaz assemblyResolver . assemblyResolver Sağlanmazsa, standart derleme çözümlemesi gerçekleştirilir.

Dikkat: Bilinmeyen veya güvenilmeyen arayanların yöntemlerini geçirmeyin. Bunun yapılması kötü amaçlı kod için ayrıcalıkların yükseltilmesine neden olabilir. Yalnızca sağladığınız veya bildiğiniz yöntemleri kullanın.

typeResolver
Func<Assembly,String,Boolean,Type>

tarafından veya standart derleme çözümlemesi tarafından typeName döndürülen assemblyResolver derlemeden tarafından belirtilen türü bulup döndüren bir yöntem. Herhangi bir derleme sağlanmazsa, yöntemi bir tane sağlayabilir. yöntemi ayrıca büyük/küçük harfe duyarlı olmayan bir arama yapılıp yapılmayacağını belirten bir parametre alır; false bu parametreye geçirilir.

Dikkat: Bilinmeyen veya güvenilmeyen arayanların yöntemlerini geçirmeyin.

throwOnError
Boolean

true türü bulunamazsa özel durum oluşturma; false öğesini döndürecek null. Belirtme, false diğer bazı özel durum koşullarını da gizler, ancak tümünü gizlemez. Özel Durumlar bölümüne bakın.

Döndürülenler

Belirtilen ada sahip tür. Tür bulunamazsa, throwOnError parametresi döndürülür veya null bir özel durum oluşturulur belirtir. Bazı durumlarda, değerinden throwOnErrorbağımsız olarak bir özel durum oluşturulur. Özel Durumlar bölümüne bakın.

Öznitelikler

Özel durumlar

typeName, null'e eşittir.

Sınıf başlatıcısı çağrılır ve bir özel durum oluşturur.

throwOnError ve true türü bulunamadı.

-veya-

throwOnError typeName ve true ekli sekme gibi geçersiz karakterler içeriyor.

-veya-

throwOnError ve truetypeName boş bir dizedir.

-veya-

throwOnError typeName ve true geçersiz boyuta sahip bir dizi türünü temsil eder.

-veya-

typeName bir dizisini TypedReferencetemsil eder.

Bir tür adına ve derleme adına ayrıştırıldığında typeName bir hata oluşur (örneğin, basit tür adı sıralanmamış bir özel karakter içerdiğinde).

-veya-

throwOnError typeName ve true geçersiz söz dizimi içeriyor (örneğin, "MyType[,*,]").

-veya-

typeName, işaretçi türüne, türüne veya Void tür bağımsız değişkenlerinden biri olarak sahip olan genel bir ByRef türü temsil eder.

-veya-

typeName , yanlış sayıda tür bağımsız değişkeni olan genel bir türü temsil eder.

-veya-

typeName genel bir türü temsil eder ve tür bağımsız değişkenlerinden biri ilgili tür parametresinin kısıtlamalarını karşılamaz.

throwOnError ve true derleme veya bağımlılıklarından biri bulunamadı.

-veya-

typeName geçersiz bir derleme adı içeriyor.

-veya-

typeName tür adı olmayan geçerli bir derleme adıdır.

Derleme veya bağımlılıklarından biri bulundu, ancak yüklenemedi.

Derleme veya bağımlılıklarından biri şu anda yüklü olan çalışma zamanı için geçerli değil.

Açıklamalar

Bu yöntem için kullanım senaryoları ve ve typeResolver parametreleriyle ilgili assemblyResolver ayrıntılar yöntem aşırı yüklemesinde GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean) bulunabilir.

Bu yöntem aşırı yüklemesini çağırmak, yöntem aşırı yüklemesini GetType(String, Func<AssemblyName,Assembly>, Func<Assembly,String,Boolean,Type>, Boolean, Boolean) çağırmak ve parametresini belirtmekle falseignoreCase aynıdır.

Şunlara uygulanır