Collapse the table of content
Expand the table of content
Expand Minimize

Type.IsNestedFamily Property

Gets a value indicating whether the Type is nested and visible only within its own family.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public ReadOnly Property IsNestedFamily As Boolean

Property Value

Type: System.Boolean
true if the Type is nested and visible only within its own family; otherwise, false.

Implements

_Type.IsNestedFamily

If the current Type represents a type parameter of a generic type, this property always returns false.

TypeAttributes.VisibilityMask selects the visibility attributes.

A Type object's family is defined as all objects of the exact same Type and of its subtypes.

The following example creates an outer class with a number of nested classes that have various types of visibility. It then retrieves the value of a number of visibility-related Type properties for the parent type and each of its nested types.

' 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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft