Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Propriedade FieldInfo.IsFamilyOrAssembly

Obtém um valor indicando se a visibilidade potencial de este campo é descrita por FieldAttributes.FamORAssem; isto é, o campo pode ser acessado por classes derivadas onde quer que são, e classes no mesmo assembly.

Namespace:  System.Reflection
Assembly:  mscorlib (em mscorlib.dll)
public bool IsFamilyOrAssembly { get; }

Valor de propriedade

Tipo: System.Boolean
true se o acesso a este campo é descrito por exatamente; FieldAttributes.FamORAssemcaso contrário, false.

Implementações

_FieldInfo.IsFamilyOrAssembly

Se um campo tem FamORAssem nivele a visibilidade, pode ser chamada de qualquer membro em uma classe derivada ou de qualquer membro no mesmo assembly, mas não para qualquer outro tipo.

A visibilidade real de um campo é limitada a visibilidade do tipo. A propriedade de IsFamilyOrAssembly pode ser true para um campo, mas se é um campo de um tipo aninhado no campo privado não está visível fora do tipo recipiente.

A visibilidade de um campo é descrita por exatamente FieldAttributes.FamORAssem se o modificador da visibilidade é protected internal em C# (Protected Friend no Visual Basic, em protected public em C++).

O exemplo de código a seguir define campos com níveis de visibilidade, e exibe os valores de seu IsAssembly, de IsFamily, de IsFamilyOrAssembly, e propriedades de IsFamilyAndAssembly .

ObservaçãoObservação

Os idiomas do Visual Basic e C# não podem definir campos com visibilidade de FieldAttributes.FamANDAssem ; esse nível de acesso aparece apenas no exemplo C++.


using System;
using System.Reflection;

public class Example
{
    public int f_public;
    internal int f_internal;
    protected int f_protected;
    protected internal int f_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 (FieldInfo f in typeof(Example).GetFields(
            BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
        {
            Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}", 
                f.Name,
                f.IsPublic,
                f.IsAssembly,
                f.IsFamily,
                f.IsFamilyOrAssembly,
                f.IsFamilyAndAssembly
            );
        }
    }
}

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

                              IsAssembly        IsFamilyOrAssembly
                     IsPublic          IsFamily          IsFamilyAndAssembly

f_public             True     False    False    False    False
f_internal           False    True     False    False    False
f_protected          False    False    True     False    False
f_protected_public   False    False    False    True     False
 */


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.