Type.IsNestedFamORAssem Propiedad

Definición

Obtiene un valor que indica si Type está anidado y solo está visible para las clases que pertenezcan a su propia familia o a su propio ensamblado.Gets a value indicating whether the Type is nested and visible only to classes that belong to either its own family or to its own assembly.

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

Valor de propiedad

Boolean

Es true si Type está anidado y solo está visible para las clases que pertenezcan a su propia familia o a su propio ensamblado; en caso contrario, es false.true if the Type is nested and visible only to classes that belong to its own family or to its own assembly; otherwise, false.

Implementaciones

Ejemplos

En el ejemplo siguiente se crea una clase externa con varias clases anidadas que tienen varios tipos de visibilidad.The following example creates an outer class with a number of nested classes that have various types of visibility. A continuación, recupera el valor de un número de propiedades relacionadas con Type la visibilidad para el tipo primario y para cada uno de sus tipos anidados.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

Comentarios

Si la visibilidad de un tipo es protected internal en C# o Protected Friend en Visual Basic, la IsNestedFamORAssem propiedad devuelve true .If the visibility of a type is protected internal in C# or Protected Friend in Visual Basic, the IsNestedFamORAssem property returns true.

Si el actual Type representa un parámetro de tipo de un tipo genérico, esta propiedad siempre devuelve false .If the current Type represents a type parameter of a generic type, this property always returns false.

TypeAttributes.VisibilityMask selecciona los atributos de visibilidad.TypeAttributes.VisibilityMask selects the visibility attributes.

La Type familia de un objeto se define como todos los objetos exactamente igual Type y de sus subtipos.A Type object's family is defined as all objects of the exact same Type and of its subtypes.

Se aplica a

Consulte también