Type.IsNested Type.IsNested Type.IsNested Type.IsNested Property

정의

현재 Type 개체가 다른 형식의 정의 안에 중첩된 정의를 가진 형식을 나타내는지를 나타내는 값을 가져옵니다.Gets a value indicating whether the current Type object represents a type whose definition is nested inside the definition of another type.

public:
 property bool IsNested { bool get(); };
public bool IsNested { get; }
member this.IsNested : bool
Public ReadOnly Property IsNested As Boolean

속성 값

true이 다른 형식 안에 중첩되어 있으면 Type이고, 그렇지 않으면 false입니다.true if the Type is nested inside another type; otherwise, false.

예제

다음 예제에서는 다양 한 표시 유형의 다양 한 형식을 포함 하는 중첩 된 클래스를 사용 하 여 외부 클래스를 만듭니다.The following example creates an outer class with a number of nested classes that have various types of visibility. 다양 한 표시 유형 관련 값을 검색 Type 부모 유형 및 해당 중첩 형식의 각 속성입니다.It then retrieves the value of a number of visibility-related Type properties for the parent type and each of its nested types.

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

설명

IsNested 속성이 반환 true 모두에 대 한 표시 여부에 관계 없이 형식에 중첩 합니다.The IsNested property returns true for all nested types, regardless of visibility. 동시에 중첩 및 표시 유형에 대해 테스트 하려면 관련된 속성을 사용 IsNestedAssembly, IsNestedFamilyIsNestedFamANDAssem, IsNestedFamORAssemIsNestedPrivate, 또는 IsNestedPublic합니다.To test for nesting and visibility at the same time, use the related properties IsNestedAssembly, IsNestedFamily, IsNestedFamANDAssem, IsNestedFamORAssem, IsNestedPrivate, or IsNestedPublic.

참고

VisibilityMask 열거형 멤버 유형에 대 한 표시 유형 특성을 선택 합니다.The VisibilityMask enumeration member selects the visibility attributes for a type.

적용 대상

추가 정보