Lire en anglais

Partager via


FieldInfo.IsFamily Propriété

Définition

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

C#
public bool IsFamily { get; }

Valeur de propriété

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

Implémente

Exemples

L’exemple de code suivant définit des champs avec différents niveaux de visibilité et affiche les valeurs de leurs IsAssemblypropriétés , IsFamily, IsFamilyOrAssemblyet IsFamilyAndAssembly .

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;
    private protected int f_private_protected;

    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
f_private_protected  False    False    False    False    True
 */

Remarques

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

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Voir aussi