Aracılığıyla paylaş


MemberAttributes Sabit listesi

Tanım

Sınıf üyeleri için üye öznitelik tanımlayıcılarını tanımlar.

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
Devralma
MemberAttributes
Öznitelikler

Alanlar

Name Değer Description
Abstract 1

Soyut üye.

Final 2

Türetilmiş bir sınıfta geçersiz kılınamayan bir üye.

Static 3

Statik üye. Visual Basic'te bu anahtar sözcükle Shared eşdeğerdir.

Override 4

Temel sınıf üyesini geçersiz kılan bir üye.

Const 5

Sabit bir üye.

ScopeMask 15

Kapsam maskesi.

New 16

Yeni bir üye.

VTableMask 240

VTable maskesi.

Overloaded 256

Aşırı yüklenmiş bir üye. Visual Basic gibi bazı diller, aşırı yüklenmiş üyelerin açıkça gösterilmesini gerektirir.

Assembly 4096

Aynı derlemedeki herhangi bir sınıf için erişilebilir bir üye.

FamilyAndAssembly 8192

Sınıfı içinde erişilebilir olan ve aynı derlemede türetilmiş sınıflar olan bir üye.

Family 12288

Sınıfı ve türetilmiş sınıfların ailesi içinde erişilebilen bir üye.

FamilyOrAssembly 16384

Sınıfı içinde erişilebilir bir üye, herhangi bir derlemede türetilmiş sınıfları ve aynı derlemedeki herhangi bir sınıf.

Private 20480

Özel üye.

Public 24576

Genel üye.

AccessMask 61440

Erişim maskesi.

Örnekler

Aşağıdaki örnek kod, ve setget erişimcileriyle bir string özelliği tanımlamak için bir kullanımını CodeMemberProperty gösterir.

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

Açıklamalar

Numaralandırmada MemberAttributes tanımlanan tanımlayıcılar, bir sınıf üyesinin kapsam ve erişim özniteliklerini belirtmek için kullanılabilir.

Uyarı

Üye özniteliği yok Virtual . Üye, üye erişimini Son olarak belirtmeden Genel (property1.Attributes = MemberAttributes.Public) olarak ayarlanarak sanal olarak bildirilir. Son bayrağının olmaması, Visual Basic () içinde C# ()public virtualoverridablePublic Overridable içinde bir üye virtual yapar. üyenin veya overridableolarak virtual bildirilmesinden kaçınmak için özelliğinde Attributes hem Genel hem de Son bayraklarını ayarlayın. Üye özniteliklerini Attributes ayarlama hakkında daha fazla bilgi için özelliğine bakın.

Uyarı

Erişim bayraklarını (, , veya terimlerini Publiciçeren bayraklar) ayarlama düzeni, PrivateAccessMask maskesini kullanarak tüm erişim bayraklarını maskeleyip istenen erişim bayrağını ayarlamaktır.FamilyAssembly Örneğin, bir oluşturucuyu (adlı constructor1) genel olarak tanımlamak için kod deyimi şeklindedir constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;. Attributes Özelliği doğrudan bir erişim bayrağına (örneğin, ) ayarlamak, constructor1.Attributes = MemberAttributes.Public;ayarlanabilecek diğer tüm bayrakları siler. Bu desen, ScopeMask maskesini kullanarak kapsam bayraklarını (Soyut, Son, Statik, Geçersiz Kılma veya Const) ayarlamak için de kullanılmalıdır.

Şunlara uygulanır

Ayrıca bkz.