Aracılığıyla paylaş


Type.GetNestedType Yöntem

Tanım

Geçerli Typeiçinde iç içe yerleştirilmiş belirli bir türü alır.

Aşırı Yüklemeler

GetNestedType(String)

Belirtilen ada sahip genel iç içe türü arar.

GetNestedType(String, BindingFlags)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bağlama kısıtlamalarını kullanarak belirtilen iç içe türü arar.

GetNestedType(String)

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

Belirtilen ada sahip genel iç içe türü arar.

public:
 Type ^ GetNestedType(System::String ^ name);
public:
 virtual Type ^ GetNestedType(System::String ^ name);
public Type? GetNestedType (string name);
public Type GetNestedType (string name);
member this.GetNestedType : string -> Type
abstract member GetNestedType : string -> Type
override this.GetNestedType : string -> Type
Public Function GetNestedType (name As String) As Type

Parametreler

name
String

Alınacak iç içe türün adını içeren dize.

Döndürülenler

Bulunursa, belirtilen ada sahip genel iç içe türü temsil eden bir nesne; aksi takdirde , null.

Uygulamalar

Özel durumlar

name, null değeridir.

Açıklamalar

araması name büyük/küçük harfe duyarlıdır.

için nameiç içe sınıfın basit adını kullanın. Dış sınıfın adıyla nitelemeyin. genel bir iç içe sınıf için, mangled adını kullanın; diğer bir ifadeyle, bir vurgu ekleyin ve genel bağımsız değişkenlerin sayısını ekleyin. Örneğin, genel iç içe sınıfını Inner<T> (Inner(Of T) Visual Basic'te) almak için "Inner'1" dizesini kullanın. Tür parametreleri için dile özgü söz dizimi eklemeyin.

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

Üye Türü Statik Statik Olmayan
Oluşturucu Hayır Hayır
Alan Hayır Evet. Bir alan her zaman "ada ve imzaya göre gizle" özelliğindedir.
Olay Uygulanamaz Ortak tür sistemi kuralı, devralma işleminin özelliği uygulayan yöntemlerinkiyle aynı olmasıdır. Yansıma, özellikleri "ada ve imzaya göre gizle" şeklinde kullanır. Aşağıdaki 2. nota bakın.
Yöntem Hayır Evet. Bir yöntem (sanal ve sanal olmayan) "ada göre gizle" veya "ada ve imzaya göre gizle" özelliğinde olabilir.
İç İçe Tür Hayır Hayır
Özellik Uygulanamaz Ortak tür sistemi kuralı, devralma işleminin özelliği uygulayan yöntemlerinkiyle aynı olmasıdır. Yansıma, özellikleri "ada ve imzaya göre gizle" şeklinde kullanır. Aşağıdaki 2. nota bakın.
  1. "Ada ve imzaya göre gizle" özelliği, imzanın tüm parçalarını (özel değiştiriciler, dönüş türleri, parametre türleri, başlangıç/bitiş simgeleri ve yönetilmeyen çağrı kuralları dahil) dikkate alır. Bu ikili bir karşılaştırmadır.

  2. Yansıma için, özellikler ve olaylar "ada ve imzaya göre gizle" özelliğindedir. Bu temel sınıfta hem alma hem de ayarlama erişimcisine sahip bir özelliğiniz varsa, ancak türetilen sınıfın yalnızca bir alma erişimcisi varsa, türetilen sınıf özelliği temel sınıf özelliğini gizler ve siz de temel sınıfta ayarlayıcıya erişemezsiniz.

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

Geçerli Type , genel bir türün veya genel yöntemin tanımında tür parametresini temsil ederse, bu yöntem sınıf kısıtlamasının iç içe geçmiş türlerini arar.

İç içe geçmiş bir tür genel ise, bu yöntem genel tür tanımını döndürür. Kapsayan genel tür kapalı bir oluşturulmuş tür olsa bile bu durum geçerlidir.

Not

Geçerli Type , C#, Visual Basic veya C++ ile tanımlanan genel bir türü temsil ediyorsa, kendi genel parametreleri olmasa bile iç içe türlerin tümü geneldir. Bu durum dinamik derlemelerde tanımlanan veya Ilasm.exe (IL Assembler) ile derlenen iç içe türler için geçerli olmayabilir.

İç içe genel türler ve kendi genel tür tanımlarından iç içe genel türler oluşturma hakkında bilgi için bkz MakeGenericType. .

Ayrıca bkz.

Şunlara uygulanır

GetNestedType(String, BindingFlags)

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

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bağlama kısıtlamalarını kullanarak belirtilen iç içe türü arar.

public:
 abstract Type ^ GetNestedType(System::String ^ name, System::Reflection::BindingFlags bindingAttr);
public abstract Type? GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public abstract Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
Public MustOverride Function GetNestedType (name As String, bindingAttr As BindingFlags) As Type

Parametreler

name
String

Alınacak iç içe türün adını içeren dize.

bindingAttr
BindingFlags

Aramanın nasıl yürütüleceğini belirten numaralandırma değerlerinin bit düzeyinde birleşimi.

-veya-

Default öğesini döndürecek null.

Döndürülenler

Bulunursa, belirtilen gereksinimlerle eşleşen iç içe türü temsil eden bir nesne; aksi takdirde , null.

Uygulamalar

Özel durumlar

name, null değeridir.

Açıklamalar

için nameiç içe sınıfın basit adını kullanın. Dış sınıfın adıyla nitelemeyin. genel bir iç içe sınıf için, mangled adını kullanın; başka bir ifadeyle, bir vurgu ekleyin ve genel parametrelerin sayısını ekleyin. Örneğin, genel iç içe sınıfını Inner<T> (Inner(Of T) Visual Basic'te) almak için "Inner'1" dizesini kullanın. Tür parametreleri için dile özgü söz dizimi eklemeyin.

Aşağıdaki BindingFlags filtre bayrakları, aramaya hangi iç içe türlerin eklendiğini tanımlamak için kullanılabilir:

Bu yöntem yalnızca geçerli türün iç içe türlerini döndürür. Geçerli türün temel sınıflarını aramaz. Temel sınıflarda iç içe yerleştirilmiş türleri bulmak için, her düzeyde çağırarak GetNestedType devralma hiyerarşisinde yürümeniz gerekir.

BindingFlags.Instance ve BindingFlags.Static yoksayılır.

Bu yöntemi yalnızca BindingFlags.Public bayrakla veya yalnızca BindingFlags.NonPublic bayrakla çağırmak, belirtilen iç içe türleri döndürür ve başka bayrak gerektirmez.

Daha fazla bilgi edinmek için bkz. System.Reflection.BindingFlags.

Geçerli Type , genel bir türün veya genel yöntemin tanımında tür parametresini temsil ederse, bu yöntem sınıf kısıtlamasının iç içe geçmiş türlerini arar.

İç içe geçmiş bir tür genel ise, bu yöntem genel tür tanımını döndürür. Kapsayan genel tür kapalı bir oluşturulmuş tür olsa bile bu durum geçerlidir.

Not

Geçerli Type , C#, Visual Basic veya C++ ile tanımlanan genel bir türü temsil ediyorsa, kendi genel parametreleri olmasa bile iç içe türlerin tümü geneldir. Bu durum dinamik derlemelerde tanımlanan veya Ilasm.exe (IL Assembler) ile derlenen iç içe türler için geçerli olmayabilir.

İç içe genel türler ve kendi genel tür tanımlarından iç içe genel türler oluşturma hakkında bilgi için bkz MakeGenericType. .

Ayrıca bkz.

Şunlara uygulanır