Sdílet prostřednictvím


MemberAttributes Výčet

Definice

Definuje identifikátory atributů člena pro členy třídy.

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
Dědičnost
MemberAttributes
Atributy

Pole

Name Hodnota Description
Abstract 1

Abstraktní člen.

Final 2

Člen, který nelze přepsat v odvozené třídě.

Static 3

Statický člen. V jazyce Visual Basic je to ekvivalentní klíčovému slovu Shared .

Override 4

Člen, který přepíše člen základní třídy.

Const 5

Konstantní člen.

ScopeMask 15

Maska oboru.

New 16

Nový člen.

VTableMask 240

Maska tabulky VTable.

Overloaded 256

Přetížený člen. Některé jazyky, například Visual Basic, vyžadují explicitně vyznačené přetížené členy.

Assembly 4096

Člen, který je přístupný pro libovolnou třídu ve stejném sestavení.

FamilyAndAssembly 8192

Člen, který je přístupný v rámci své třídy a odvozené třídy ve stejném sestavení.

Family 12288

Člen, který je přístupný v rámci rodiny jeho třídy a odvozené třídy.

FamilyOrAssembly 16384

Člen, který je přístupný v rámci své třídy, jeho odvozené třídy v libovolné sestavení a všechny třídy ve stejném sestavení.

Private 20480

Soukromý člen.

Public 24576

Veřejný člen.

AccessMask 61440

Přístupová maska.

Příklady

Následující příklad kódu ukazuje použití k CodeMemberProperty definování string vlastnosti s get a set přístupové objekty.

// 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

Poznámky

Identifikátory definované v výčtu MemberAttributes lze použít k označení oboru a přístupových atributů člena třídy.

Poznámka:

Neexistuje žádný Virtual atribut člena. Člen je deklarován virtuální nastavením přístupu člena k veřejné (property1.Attributes = MemberAttributes.Public) bez zadání jako konečný. Absence koncového příznaku provede člena virtual v jazyce C# (public virtual), overridable v jazyce Visual Basic (Public Overridable). Chcete-li zabránit deklarování člena jako virtual nebo overridable, nastavte veřejné i konečné příznaky ve Attributes vlastnosti. Další informace o nastavení atributů členů najdete ve Attributes vlastnosti.

Poznámka:

Vzor pro nastavení přístupových příznaků (příznaky obsahující termíny Public, Private, Assemblynebo Family) je maskovat všechny přístupové příznaky pomocí masky AccessMask a pak nastavit požadovaný přístupový příznak. Například příkaz kódu pro identifikaci konstruktoru (pojmenovaného constructor1) jako veřejného je constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;. Attributes Nastavení vlastnosti přímo na přístupový příznak (napříkladconstructor1.Attributes = MemberAttributes.Public;) vymaže všechny ostatní příznaky, které mohou být nastaveny. Tento vzor by se měl použít také k nastavení příznaků oboru (abstraktní, konečné, statické, přepsání nebo const) pomocí masky ScopeMask.

Platí pro

Viz také