MemberAttributes Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les identificateurs d’attribut de membre pour les membres de classe.
public enum class MemberAttributes
public enum MemberAttributes
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum MemberAttributes
type MemberAttributes =
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type MemberAttributes =
Public Enum MemberAttributes
- Héritage
- Attributs
Champs
| Nom | Valeur | Description |
|---|---|---|
| Abstract | 1 | Membre abstrait. |
| Final | 2 | Membre qui ne peut pas être substitué dans une classe dérivée. |
| Static | 3 | Membre statique. En Visual Basic, cela équivaut au |
| Override | 4 | Membre qui remplace un membre de classe de base. |
| Const | 5 | Membre constant. |
| ScopeMask | 15 | Masque d’étendue. |
| New | 16 | Nouveau membre. |
| VTableMask | 240 | Masque de table virtuelle. |
| Overloaded | 256 | Membre surchargé. Certains langages, tels que Visual Basic, nécessitent que les membres surchargés soient explicitement indiqués. |
| Assembly | 4096 | Membre accessible à n’importe quelle classe dans le même assembly. |
| FamilyAndAssembly | 8192 | Membre accessible dans sa classe et classes dérivées dans le même assembly. |
| Family | 12288 | Membre accessible dans la famille de sa classe et de ses classes dérivées. |
| FamilyOrAssembly | 16384 | Membre accessible dans sa classe, ses classes dérivées dans n’importe quel assembly et toute classe du même assembly. |
| Private | 20480 | Un membre privé. |
| Public | 24576 | Membre public. |
| AccessMask | 61440 | Masque d’accès. |
Exemples
L’exemple de code suivant illustre l’utilisation d’une CodeMemberPropertystring propriété avec get et set d’accesseurs.
// Declares a property of type String named StringProperty.
CodeMemberProperty property1 = new CodeMemberProperty();
property1.Name = "StringProperty";
property1.Type = new CodeTypeReference("System.String");
property1.Attributes = MemberAttributes.Public;
property1.GetStatements.Add( new CodeMethodReturnStatement( new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "testStringField") ) );
property1.SetStatements.Add( new CodeAssignStatement( new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "testStringField"), new CodePropertySetValueReferenceExpression()));
// A C# code generator produces the following source code for the preceeding example code:
// public virtual string StringProperty
// {
// get
// {
// return this.testStringField;
// }
// set
// {
// this.testStringField = value;
// }
// }
' Declares a property of type String named StringProperty.
Dim property1 As New CodeMemberProperty()
property1.Name = "StringProperty"
property1.Type = New CodeTypeReference("System.String")
property1.Attributes = MemberAttributes.Public
property1.GetStatements.Add(New CodeMethodReturnStatement(New CodeFieldReferenceExpression(New CodeThisReferenceExpression(), "testStringField")))
property1.SetStatements.Add(New CodeAssignStatement(New CodeFieldReferenceExpression(New CodeThisReferenceExpression(), "testStringField"), New CodePropertySetValueReferenceExpression()))
' A Visual Basic code generator produces the following source code for the preceeding example code:
' Public Overridable Property StringProperty() As String
' Get
' Return Me.testStringField
' End Get
' Set(ByVal Value As String)
' Me.testStringField = value
' End Set
' End Property
Remarques
Les identificateurs définis dans l’énumération MemberAttributes peuvent être utilisés pour indiquer l’étendue et les attributs d’accès d’un membre de classe.
Note
Il n’existe aucun Virtual attribut membre. Un membre est déclaré virtuel en définissant son accès membre au public (property1.Attributes = MemberAttributes.Public) sans le spécifier comme Final. L’absence de l’indicateur final rend un membre virtual en C# (public virtual), overridable en Visual Basic (Public Overridable). Pour éviter de déclarer le membre en tant que virtual ou overridable, définissez les indicateurs Public et Final dans la Attributes propriété. Pour plus d’informations sur la définition des attributs de membre, consultez la Attributes propriété.
Note
Le modèle de définition des indicateurs d’accès (indicateurs contenant les termes Public, Privateou AssemblyFamily) consiste à masquer tous les indicateurs d’accès à l’aide du masque AccessMask, puis à définir l’indicateur d’accès souhaité. Par exemple, l’instruction de code pour identifier un constructeur (nommé constructor1) comme public est constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;. La définition de la Attributes propriété directement sur un indicateur d’accès (par exemple, constructor1.Attributes = MemberAttributes.Public;) efface tous les autres indicateurs qui peuvent être définis. Ce modèle doit également être utilisé pour définir les indicateurs d’étendue (Abstract, Final, Static, Override ou Const) à l’aide du masque ScopeMask.