Type.GetNestedType Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 name
iç 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. |
"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.
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.
Ö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 name
iç 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:
İade almak için veya BindingFlags.NonPublic belirtmeniz BindingFlags.Public gerekir.
Genel iç içe türleri aramaya dahil etmek için belirtin BindingFlags.Public .
Genel olmayan iç içe türleri (özel, iç ve korumalı iç içe türler) aramaya dahil etmek için belirtin BindingFlags.NonPublic .
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. .