Freigeben über


MemberAttributes-Enumeration

Definiert Bezeichner für Memberattribute von Klassenmembern.

Namespace: System.CodeDom
Assembly: System (in system.dll)

Syntax

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration MemberAttributes
'Usage
Dim instance As MemberAttributes
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum MemberAttributes
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum class MemberAttributes
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum MemberAttributes
SerializableAttribute 
ComVisibleAttribute(true) 
public enum MemberAttributes

Member

  Membername Beschreibung
Abstract Ein abstrakter Member. 
AccessMask Eine Zugriffsmaske. 
Assembly Ein Member, auf den alle Klassen in der gleichen Assembly zugreifen können. 
Const Ein konstanter Member. 
Family Ein Member, auf den aus der Familie seiner Klasse und abgeleiteter Klassen zugegriffen werden kann. 
FamilyAndAssembly Ein Member, auf den aus seiner Klasse und aus abgeleiteten Klassen in der gleichen Assembly zugegriffen werden kann. 
FamilyOrAssembly Ein Member, auf den aus seiner Klasse, aus abgeleiteten Klassen in einer beliebigen Assembly und aus allen Klassen in der gleichen Assembly zugegriffen werden kann. 
Final Ein Member, der in einer abgeleiteten Klasse nicht überschrieben werden kann. 
New Ein new-Member. 
Overloaded Ein überladener Member. Bei einigen Sprachen wie Visual Basic müssen überladene Member explizit angegeben werden. 
Override Ein Member, der einen Basisklassenmember überschreibt. 
Private Ein private-Member. 
Public Ein public-Member. 
ScopeMask Eine Gültigkeitsbereichsmaske. 
Static Ein statischer Member. Dies entspricht dem Shared-Schlüsselwort in Visual Basic. 
VTableMask Eine VTable-Maske. 

Hinweise

Mit den in der MemberAttributes-Enumeration definierten Bezeichnern können der Gültigkeitsbereich und die Zugriffsattribute eines Klassenmembers angegeben werden.

Beispiel

Im folgenden Beispielcode wird veranschaulicht, wie mit einer CodeMemberProperty eine string-Eigenschaft mit get- und set-Accessoren definiert wird.

' 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
// 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.
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.set_Name("StringProperty");
property1.set_Type(new CodeTypeReference("System.String"));
property1.set_Attributes(MemberAttributes.Public);
property1.get_GetStatements().Add(new CodeMethodReturnStatement(new
    CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
    "testStringField")));
property1.get_SetStatements().Add(new CodeAssignStatement(new 
    CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
    "testStringField"), new CodePropertySetValueReferenceExpression()));
//  /** @property 
//   */
//  public   String get_StringProperty()
//  {
//      return this.get_testStringField();
//  } //get_StringProperty
//
//  /** @property 
//   */
//  public void set_StringProperty (String value )
//  {
//      this.set_testStringField(value);
//  } //set_StringProperty

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

System.CodeDom-Namespace
CodeTypeMember-Klasse
CodeMemberProperty-Klasse
CodeMemberMethod-Klasse
CodeConstructor-Klasse