Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

FieldInfo.IsFamily, propriété

Obtient une valeur indiquant si la visibilité de ce champ est décrite par FieldAttributes.Family, c'est-à-dire si le champ est visible uniquement dans sa classe et dans ses classes dérivées.

Espace de noms :  System.Reflection
Assembly :  mscorlib (dans mscorlib.dll)

public bool IsFamily { get; }

Valeur de propriété

Type : System.Boolean
true si l'accès à ce champ est décrit exactement par FieldAttributes.Family ; sinon, false.

Implémentations

_FieldInfo.IsFamily

La visibilité d'un champ est décrite exactement par FieldAttributes.Family si le seul modificateur de visibilité est protected. Cette propriété est false pour les champs qui sont protected internal en C# (Protected Friend en Visual Basic, protected public en C++) ; utilisez la propriété IsFamilyOrAssembly pour identifier de tels champs.

L'exemple de code suivant définit des champs ayant des niveaux de visibilité différents, et affiche les valeurs de leurs propriétés IsAssembly, IsFamily, IsFamilyOrAssembly et IsFamilyAndAssembly.

RemarqueRemarque

Les langages Visual Basic et C# ne peuvent pas définir des champs avec la visibilité FieldAttributes.FamANDAssem ; ce niveau d'accès apparaît uniquement dans l'exemple 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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft