Skip to main content
.NET Framework Class Library
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)
Syntax
Public ReadOnly Property IsNestedFamily As Boolean
public bool IsNestedFamily { get; }
public:
virtual property bool IsNestedFamily {
	bool get () sealed;
}
abstract IsNestedFamily : bool
override IsNestedFamily : bool

Property Value

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

Implements

_Type..::.IsNestedFamily
Remarks

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.

Examples

The following code example demonstrates how to use the IsNestedFamily property to determine whether a type is both nested and protected.


' Enclose a class.
Class MyClassA

  ' Protected nested class.
   Protected Class MyClassB
   End Class 'MyClassB
End Class 'MyClassA

Class MyTestClass
   Inherits MyClassA

   Public Shared Sub Main()
      ' Get the Type of the nested class.
      Dim myTypeB As Type = GetType(MyClassA.MyClassB)
      ' Get the 'IsNestedFamily' property the of the nested class
      ' 'Type'.
      Console.WriteLine((ControlChars.Cr + "The nested class has the property 'IsNestedFamily' value: " + myTypeB.IsNestedFamily.ToString()))
   End Sub 'Main
End Class 'MyTestClass


// Enclose a class.
class MyClassA
{
   // Protected nested class.
   protected class MyClassB
   {
   }   
}
class MyTestClass : MyClassA
{
   public static void Main(string[] args)
   {  
      // Get the Type of the nested class.
      Type myTypeB = typeof(MyClassA.MyClassB);
      // Get the 'IsNestedFamily' property the of the nested class
      // 'Type'.
      Console.WriteLine("\nThe nested class has the property 'IsNestedFamily' value: "+
                        myTypeB.IsNestedFamily.ToString());      
   }
}


// Enclose a class.
ref class MyClassA
{
protected:

   // Protected nested class.
   ref class MyClassB{};
};

ref class MyTestClass: public MyClassA
{
public:
   static void Test()
   {
      // Get the Type of the nested class.
      Type^ myTypeB = MyClassA::MyClassB::typeid;

      // Get the 'IsNestedFamily' property the of the nested class
      // 'Type'.
      Console::WriteLine( "\nThe nested class has the property 'IsNestedFamily' value: {0}", myTypeB->IsNestedFamily );
   }
};

int main()
{
   MyTestClass::Test();
}

Version Information

.NET Framework

Supported in: 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
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Microsoft is conducting an online survey to understand your opinion of the MSDN Web site. If you choose to participate, the online survey will be presented to you when you leave the MSDN Web site.

Would you like to participate?