Type.IsNestedPublic Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą, czy klasa jest zagnieżdżona i zadeklarowana jako publiczna.
public:
property bool IsNestedPublic { bool get(); };
public bool IsNestedPublic { get; }
member this.IsNestedPublic : bool
Public ReadOnly Property IsNestedPublic As Boolean
Wartość właściwości
true
jeśli klasa jest zagnieżdżona i zadeklarowana publicznie; w przeciwnym razie , false
.
Implementuje
Przykłady
Poniższy przykład tworzy klasę zewnętrzną z wieloma klasami zagnieżdżonym, które mają różne typy widoczności. Następnie pobiera wartość wielu właściwości związanych z Type widocznością dla typu nadrzędnego i każdego z jego zagnieżdżonych typów.
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
Uwagi
Jeśli bieżący Type reprezentuje parametr typu typu typu ogólnego, ta właściwość zawsze zwraca wartość false
.
TypeAttributes.VisibilityMask wybiera atrybuty widoczności.