MemberAttributes MemberAttributes MemberAttributes MemberAttributes Enum

Definizione

Definisce gli identificatori degli attributi dei membri per i membri della classe.Defines member attribute identifiers for class members.

public enum class MemberAttributes
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum MemberAttributes
type MemberAttributes = 
Public Enum MemberAttributes
Ereditarietà
MemberAttributesMemberAttributesMemberAttributesMemberAttributes
Attributi

Campi

Abstract Abstract Abstract Abstract 1

Membro astratto.An abstract member.

AccessMask AccessMask AccessMask AccessMask 61440

Maschera di accesso.An access mask.

Assembly Assembly Assembly Assembly 4096

Membro accessibile a qualsiasi classe all'interno dello stesso assembly.A member that is accessible to any class within the same assembly.

Const Const Const Const 5

Membro costante.A constant member.

Family Family Family Family 12288

Membro accessibile all'interno della famiglia della propria classe e delle classi derivate.A member that is accessible within the family of its class and derived classes.

FamilyAndAssembly FamilyAndAssembly FamilyAndAssembly FamilyAndAssembly 8192

Membro accessibile all'interno della propria classe e delle classi derivate nello stesso assembly.A member that is accessible within its class, and derived classes in the same assembly.

FamilyOrAssembly FamilyOrAssembly FamilyOrAssembly FamilyOrAssembly 16384

Membro accessibile all'interno della propria classe, delle classi derivate in qualsiasi assembly e di qualsiasi classe nello stesso assembly.A member that is accessible within its class, its derived classes in any assembly, and any class in the same assembly.

Final Final Final Final 2

Membro che non può essere sottoposto a override in una classe derivata.A member that cannot be overridden in a derived class.

New New New New 16

Nuovo membro.A new member.

Overloaded Overloaded Overloaded Overloaded 256

Membro di overload.An overloaded member. In alcuni linguaggi, come Visual Basic, è necessario indicare in modo esplicito i membri di overload.Some languages, such as Visual Basic, require overloaded members to be explicitly indicated.

Override Override Override Override 4

Membro che esegue l'override di un membro di classe base.A member that overrides a base class member.

Private Private Private Private 20480

Membro privato.A private member.

Public Public Public Public 24576

Membro pubblico.A public member.

ScopeMask ScopeMask ScopeMask ScopeMask 15

Maschera di ambito.A scope mask.

Static Static Static Static 3

Membro statico.A static member. In Visual Basic, è equivalente alla parola chiave Shared.In Visual Basic, this is equivalent to the Shared keyword.

VTableMask VTableMask VTableMask VTableMask 240

Maschera VTable.A VTable mask.

Esempi

Nell'esempio di codice seguente viene illustrato l' CodeMemberProperty utilizzo di un string oggetto per definire set una proprietà con get le funzioni di accesso e.The following example code demonstrates use of a CodeMemberProperty to define a string property with get and set accessors.

// Declares a property of type String named StringProperty.
CodeMemberProperty^ property1 = gcnew CodeMemberProperty;
property1->Name = "StringProperty";
property1->Type = gcnew CodeTypeReference( "System.String" );
property1->Attributes = MemberAttributes::Public;
property1->GetStatements->Add( gcnew CodeMethodReturnStatement( gcnew CodeFieldReferenceExpression( gcnew CodeThisReferenceExpression,"testStringField" ) ) );
property1->SetStatements->Add( gcnew CodeAssignStatement( gcnew CodeFieldReferenceExpression( gcnew CodeThisReferenceExpression,"testStringField" ),gcnew 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.
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

Commenti

Gli identificatori definiti nell' MemberAttributes enumerazione possono essere utilizzati per indicare l'ambito e gli attributi di accesso di un membro di classe.The identifiers defined in the MemberAttributes enumeration can be used to indicate the scope and access attributes of a class member.

Nota

Nessun Virtual attributo membro.There is no Virtual member attribute. Un membro è dichiarato virtuale impostando l'accesso dei membri su Publicproperty1.Attributes = MemberAttributes.Public() senza specificarlo come Final.A member is declared virtual by setting its member access to Public (property1.Attributes = MemberAttributes.Public) without specifying it as Final. L'assenza del flag finale rende un membro virtual in C# (public virtual), overridable in Visual Basic (Public Overridable).The absence of the Final flag makes a member virtual in C# (public virtual), overridable in Visual Basic (Public Overridable). Per evitare di dichiarare il membro come virtual o overridable, impostare entrambi i flag Public Attributes e Final nella proprietà.To avoid declaring the member as virtual or overridable, set both the Public and Final flags in the Attributes property. Per ulteriori Attributes informazioni sull'impostazione degli attributi dei membri, vedere la proprietà.See the Attributes property for more information on setting member attributes.

Nota

Il modello per l'impostazione dei flag di accesso (flag contenenti Publici Privatetermini Assembly,, Familyo) consiste nel mascherare tutti i flag di accesso utilizzando la maschera accessMask, quindi impostare il flag di accesso desiderato.The pattern for setting the access flags (flags containing the terms Public, Private, Assembly, or Family) is to mask out all access flags using the AccessMask mask and then set the desired access flag. Ad esempio, l'istruzione del codice per identificare un costruttore ( constructor1denominato) come Public constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;è.For example, the code statement to identify a constructor (named constructor1) as public is constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;. Impostando Attributes la proprietà direttamente su un flag di accesso (ad constructor1.Attributes = MemberAttributes.Public;esempio,) vengono cancellati tutti gli altri flag che è possibile impostare.Setting the Attributes property directly to an access flag (for example, constructor1.Attributes = MemberAttributes.Public;) erases all other flags that might be set. Questo modello deve essere usato anche per impostare i flag di ambito (abstract, Final, static, override o const) usando la maschera ScopeMask.This pattern should also be used for setting the scope flags (Abstract, Final, Static, Override or Const) using the ScopeMask mask.

Si applica a

Vedi anche