Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

FieldInfo.IsFamily propriété

 

Date de publication : novembre 2016

Obtient une valeur indiquant si la visibilité de ce champ est décrite par FieldAttributes.Family; autrement dit, le champ est visible uniquement dans sa classe et des 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écrite exactement par FieldAttributes.Family; Sinon, false.

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 dans C++) ; utilisez la IsFamilyOrAssembly propriété pour identifier les champs de ce type.

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

System_CAPS_noteRemarque

Les langages Visual Basic et c# ne peut pas définir des champs avec FieldAttributes.FamANDAssem visibilité ; que le 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
 */

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: