Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad MethodBase.IsFamily

 

Publicado: octubre de 2016

Obtiene un valor que indica si la visibilidad de este método o constructor MethodAttributes.Family; es decir, el método o constructor es visible dentro de su clase y clases derivadas.

Espacio de nombres:   System.Reflection
Ensamblado:  mscorlib (en mscorlib.dll)

public bool IsFamily { get; }

Valor de propiedad

Type: System.Boolean

true Si el acceso a este método o constructor describe exactamente MethodAttributes.Family; en caso contrario, false.

Describe exactamente la visibilidad de un método o constructor MethodAttributes.Family Si el único modificador de visibilidad es protected. Esta propiedad es false para los métodos que están protected internal en C# (Protected Friend en Visual Basic, protected public en C++); Utilice la IsFamilyOrAssembly propiedad para identificar tales métodos.

En el ejemplo de código siguiente se definen métodos con niveles de visibilidad y muestra los valores de sus IsAssembly, IsFamily, IsFamilyOrAssembly, y IsFamilyAndAssembly Propiedades.

System_CAPS_noteNota

Los lenguajes Visual Basic y C# no pueden definir métodos con MethodAttributes.FamANDAssem visibilidad; que el nivel de acceso sólo aparece en el ejemplo de C++.

using System;
using System.Reflection;

public class Example
{
    public void m_public() {}
    internal void m_internal() {}
    protected void m_protected() {}
    protected internal void m_protected_public() {}

    public static void Main()
    {
        Console.WriteLine("\n{0,-30}{1,-18}{2}", "", "IsAssembly", "IsFamilyOrAssembly"); 
        Console.WriteLine("{0,-21}{1,-18}{2,-18}{3}\n", 
            "", "IsPublic", "IsFamily", "IsFamilyAndAssembly");

        foreach (MethodBase m in typeof(Example).GetMethods(
            BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
        {
            if (m.Name.Substring(0, 1) == "m")
            {
                Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}", 
                    m.Name,
                    m.IsPublic,
                    m.IsAssembly,
                    m.IsFamily,
                    m.IsFamilyOrAssembly,
                    m.IsFamilyAndAssembly
                );
            }
        }
    }
}

/* This code example produces output similar to the following:

                              IsAssembly        IsFamilyOrAssembly
                     IsPublic          IsFamily          IsFamilyAndAssembly

m_public             True     False    False    False    False
m_internal           False    True     False    False    False
m_protected          False    False    True     False    False
m_protected_public   False    False    False    True     False
 */

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: