MemberAttributes MemberAttributes MemberAttributes MemberAttributes Enum

Definición

Define los identificadores de atributos de miembro para miembros de clase.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
Herencia
MemberAttributesMemberAttributesMemberAttributesMemberAttributes
Atributos

Campos

Abstract Abstract Abstract Abstract 1

Miembro abstracto.An abstract member.

AccessMask AccessMask AccessMask AccessMask 61440

Máscara de acceso.An access mask.

Assembly Assembly Assembly Assembly 4096

Un miembro que es accesible a cualquier clase dentro del mismo ensamblado.A member that is accessible to any class within the same assembly.

Const Const Const Const 5

Miembro constante.A constant member.

Family Family Family Family 12288

Un miembro que es accesible dentro de la familia de su clase y clases derivadas.A member that is accessible within the family of its class and derived classes.

FamilyAndAssembly FamilyAndAssembly FamilyAndAssembly FamilyAndAssembly 8192

Un miembro que es accesible dentro de su clase y de las clases derivadas en el mismo ensamblado.A member that is accessible within its class, and derived classes in the same assembly.

FamilyOrAssembly FamilyOrAssembly FamilyOrAssembly FamilyOrAssembly 16384

Un miembro que es accesible dentro de su clase, sus clases derivadas en cualquier ensamblado y cualquier clase en el mismo ensamblado.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

Un miembro que no puede reemplazarse en una clase derivada.A member that cannot be overridden in a derived class.

New New New New 16

Nuevo miembro.A new member.

Overloaded Overloaded Overloaded Overloaded 256

Miembro sobrecargado.An overloaded member. En algunos lenguajes, como Visual Basic, requieren que los miembros sobrecargados estén indicados de forma explícita.Some languages, such as Visual Basic, require overloaded members to be explicitly indicated.

Override Override Override Override 4

Un miembro que reemplaza un miembro de clase base.A member that overrides a base class member.

Private Private Private Private 20480

Miembro privado.A private member.

Public Public Public Public 24576

Miembro público.A public member.

ScopeMask ScopeMask ScopeMask ScopeMask 15

Máscara de ámbito.A scope mask.

Static Static Static Static 3

Miembro estático.A static member. En Visual Basic, esto es equivalente a la palabra clave Shared.In Visual Basic, this is equivalent to the Shared keyword.

VTableMask VTableMask VTableMask VTableMask 240

Máscara de VTable.A VTable mask.

Ejemplos

Ejemplo de código siguiente muestra el uso de un CodeMemberProperty para definir un string propiedad con get y set descriptores de acceso.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

Comentarios

Los identificadores definidos en el MemberAttributes enumeración puede utilizarse para indicar los atributos de acceso y ámbito de un miembro de clase.The identifiers defined in the MemberAttributes enumeration can be used to indicate the scope and access attributes of a class member.

Nota

No hay ningún Virtual atributo de miembro.There is no Virtual member attribute. Se declara un miembro virtual estableciendo su acceso al miembro en público (property1.Attributes = MemberAttributes.Public) sin especificarlo como Final.A member is declared virtual by setting its member access to Public (property1.Attributes = MemberAttributes.Public) without specifying it as Final. La ausencia de la última marca hace que sea un miembro virtual en C# (public virtual), overridable en Visual Basic (Public Overridable).The absence of the Final flag makes a member virtual in C# (public virtual), overridable in Visual Basic (Public Overridable). Para evitar la declaración del miembro como virtual o overridable, establezca ambos público y que marca el Final de la Attributes propiedad.To avoid declaring the member as virtual or overridable, set both the Public and Final flags in the Attributes property. Consulte la Attributes propiedad para obtener más información sobre cómo establecer los atributos de miembro.See the Attributes property for more information on setting member attributes.

Nota

El patrón para establecer las marcas de acceso (que contiene los términos de marcas Public, Private, Assembly, o Family) es la máscara de todas las marcas de acceso utilizando la máscara de AccessMask y, a continuación, establezca la marca de acceso deseado.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. Por ejemplo, la instrucción de código para identificar un constructor (denominado constructor1) como público es 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;. Establecer el Attributes propiedad directamente a una marca de acceso (por ejemplo, constructor1.Attributes = MemberAttributes.Public;) borra el resto de las marcas que se puede establecer.Setting the Attributes property directly to an access flag (for example, constructor1.Attributes = MemberAttributes.Public;) erases all other flags that might be set. Este patrón también se debe usar para establecer las marcas de ámbito (Abstract, Final, estático, reemplazo o Const) utilizando la máscara ScopeMask.This pattern should also be used for setting the scope flags (Abstract, Final, Static, Override or Const) using the ScopeMask mask.

Se aplica a

Consulte también: