Type.IsNested Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu, která označuje, zda aktuální Type objekt představuje typ, jehož definice je vnořena do definice jiného typu.
public:
property bool IsNested { bool get(); };
public bool IsNested { get; }
member this.IsNested : bool
Public ReadOnly Property IsNested As Boolean
Hodnota vlastnosti
true
je-li Type vnořen v jiném typu, v opačném případě false
.
Příklady
Následující příklad vytvoří vnější třídu s několika vnořenými třídami, které mají různé typy viditelnosti. Pak načte hodnotu řady Type vlastností nadřazeného typu a každého z jeho vnořených typů.
using System;
// Create a class with a number of nested classes.
public class OuterClass
{
private class PrivateClass
{}
protected class ProtectedClass
{}
internal class InternalClass
{}
protected internal class ProtectedInternalClass
{}
public class PublicClass
{}
public static void Main()
{
// Create an array of Type objects for all the classes.
Type[] types = { typeof(OuterClass),
typeof(OuterClass.PublicClass),
typeof(OuterClass.PrivateClass),
typeof(OuterClass.ProtectedClass),
typeof(OuterClass.InternalClass),
typeof(OuterClass.ProtectedInternalClass) };
// Display the property values of each nested class.
foreach (var type in types) {
Console.WriteLine("\n{0} property values:", type.Name);
Console.WriteLine(" Public Class: {0}", type.IsPublic);
Console.WriteLine(" Not a Public Class: {0}", type.IsNotPublic);
Console.WriteLine(" Nested Class: {0}", type.IsNested);
Console.WriteLine(" Nested Private Class: {0}", type.IsNestedPrivate);
Console.WriteLine(" Nested Internal Class: {0}", type.IsNestedAssembly);
Console.WriteLine(" Nested Protected Class: {0}", type.IsNestedFamily);
Console.WriteLine(" Nested Family Or Assembly Class: {0}", type.IsNestedFamORAssem);
Console.WriteLine(" Nested Family And Assembly Class: {0}", type.IsNestedFamANDAssem);
Console.WriteLine(" Nested Public Class: {0}", type.IsNestedPublic);
}
}
}
// The example displays the following output:
// OuterClass property values:
// Public Class: True
// Not a Public Class: False
// Nested Class: False
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// PublicClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: True
//
// PrivateClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: True
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// ProtectedClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: True
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// InternalClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: True
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// ProtectedInternalClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: True
// Nested Family And Assembly Class: False
// Nested Public Class: False
' Create a Class with a number of nested Classes.
Public Class OuterClass
Private Class PrivateClass
End Class
Protected Class ProtectedClass
End Class
Friend Class InternalClass
End Class
Protected Friend Class ProtectedInternalClass
End Class
Public Class PublicClass
End Class
Public Shared Sub Main()
' Create an array of Type objects for all the Classes.
Dim types() As Type = { GetType(OuterClass),
GetType(OuterClass.PublicClass),
GetType(OuterClass.PrivateClass),
GetType(OuterClass.ProtectedClass),
GetType(OuterClass.InternalClass),
GetType(OuterClass.ProtectedInternalClass) }
' Display the property values of each nested Class.
For Each type In types
Console.WriteLine("{0} property values:", type.Name)
Console.WriteLine(" Public Class: {0}", type.IsPublic)
Console.WriteLine(" Not a Public Class: {0}", type.IsNotPublic)
Console.WriteLine(" Nested Class: {0}", type.IsNested)
Console.WriteLine(" Nested Private Class: {0}", type.IsNestedPrivate)
Console.WriteLine(" Nested Internal Class: {0}", type.IsNestedAssembly)
Console.WriteLine(" Nested Protected Class: {0}", type.IsNestedFamily)
Console.WriteLine(" Nested Family Or Assembly Class: {0}", type.IsNestedFamORAssem)
Console.WriteLine(" Nested Family And Assembly Class: {0}", type.IsNestedFamANDAssem)
Console.WriteLine(" Nested Public Class: {0}", type.IsNestedPublic)
Console.WriteLine()
Next
End Sub
End Class
' The example displays the following output:
' OuterClass property values:
' Public Class: True
' Not a Public Class: False
' Nested Class: False
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' PublicClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: True
'
' PrivateClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: True
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' ProtectedClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: True
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' InternalClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: True
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' ProtectedInternalClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: True
' Nested Family And Assembly Class: False
' Nested Public Class: False
Poznámky
IsNestedVlastnost vrátí true
pro všechny vnořené typy bez ohledu na viditelnost. Chcete-li otestovat vnořování a viditelnost ve stejnou dobu, použijte související vlastnosti IsNestedAssembly ,,, IsNestedFamily , IsNestedFamANDAssem IsNestedFamORAssem IsNestedPrivate nebo IsNestedPublic .
Poznámka
VisibilityMaskČlen výčtu vybere atributy viditelnosti pro typ.