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
| Name | Description |
|---|---|
| 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) |
Belirtilen ada sahip genel iç içe türü arar. |
GetNestedType(String, BindingFlags)
- Kaynak:
- Type.cs
- Kaynak:
- Type.cs
- 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);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)]
public abstract Type? GetNestedType(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);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)>]
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
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 yapıldığını 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
- Öznitelikler
Özel durumlar
name, null'e eşittir.
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 iç içe geçmiş bir sınıf için, mangled adını kullanın; yani, bir vurgu ekleyin ve genel parametrelerin sayısını ekleyin. Örneğin, genel iç içe sınıf Inner<T> (Visual Basic'de Inner(Of T)) 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 dahil edilebileceğini tanımlamak için kullanılabilir:
İade almak için veya BindingFlags.NonPublic belirtmelisinizBindingFlags.Public.
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 için bkz. System.Reflection.BindingFlags.
Geçerli Type , genel bir tür 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 bir tür genelse, bu yöntem genel tür tanımını döndürür. Kapsayan genel tür kapalı bir yapılı tür olsa bile bu doğrudur.
Uyarı
Geçerli Type C#, Visual Basic veya C++ ile tanımlanan genel bir türü temsil ederse, iç içe türleri kendi genel parametreleri olmasa bile 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)
- Kaynak:
- Type.cs
- Kaynak:
- Type.cs
- 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);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)]
public Type? GetNestedType(string name);
public Type GetNestedType(string name);
public Type? GetNestedType(string name);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)>]
member this.GetNestedType : string -> Type
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
- Öznitelikler
Özel durumlar
name, null'e eşittir.
Açıklamalar
name araması 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 iç içe geçmiş bir sınıf için, mangled adını kullanın; yani, bir vurgu ekleyin ve genel bağımsız değişkenlerin sayısını ekleyin. Örneğin, genel iç içe sınıf Inner<T> (Visual Basic'de Inner(Of T)) 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 döndürülen temel sınıf üyeleri gösterilmektedir.
| Üye Türü | Static | Statik Olmayan |
|---|---|---|
| Yapıcı | Hayır | Hayır |
| Veri 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. |
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.
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.
Özel öznitelikler ortak tür sisteminin bir parçası değildir.
Geçerli Type , genel bir tür 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 bir tür genelse, bu yöntem genel tür tanımını döndürür. Kapsayan genel tür kapalı bir yapılı tür olsa bile bu doğrudur.
Uyarı
Geçerli Type C#, Visual Basic veya C++ ile tanımlanan genel bir türü temsil ederse, iç içe türleri kendi genel parametreleri olmasa bile 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. .