Export (0) Print
Expand All
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)

public bool IsNestedFamily { get; }

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.

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

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft