Type.IsNestedFamANDAssem Property
Gets a value indicating whether the Type is nested and visible only to classes that belong to both its own family and its own assembly.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System.Booleantrue if the Type is nested and visible only to classes that belong to both its own family and its own assembly; otherwise, false.
Implements
_Type.IsNestedFamANDAssemIf the current Type represents a type parameter of a generic type, this property always returns false.
TypeAttributes.VisibilityMask selects the visibility attributes.
Note |
|---|
The C# and Visual Basic languages do not include semantics that allow you to define a nested type that is visible only to protected types in its own assembly. protected internal visibility in C# and Protected Friend visibility in Visual Basic define a nested type that is visible both to protected types and to types in the same assembly. |
A Type object's family is defined as all objects of the 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
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
