MemberAttributes Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Öznitelikler
Alanlar
Abstract | 1 | Soyut üye. |
AccessMask | 61440 | Erişim maskesi. |
Assembly | 4096 | Aynı derlemedeki herhangi bir sınıf için erişilebilir olan bir üye. |
Const | 5 | Sabit üye. |
Family | 12288 | Sınıfının ve türetilmiş sınıfların ailesi içinde erişilebilen bir üye. |
FamilyAndAssembly | 8192 | Sınıfı içinde erişilebilir bir üye ve aynı derlemede türetilmiş sınıflar. |
FamilyOrAssembly | 16384 | Sınıfı içinde erişilebilir bir üye, herhangi bir derlemedeki türetilmiş sınıfları ve aynı derlemedeki herhangi bir sınıf. |
Final | 2 | Türetilmiş bir sınıfta geçersiz kılınamayan bir üye. |
New | 16 | Yeni üye. |
Overloaded | 256 | Aşırı yüklenmiş bir üye. Visual Basic gibi bazı dillerde aşırı yüklenmiş üyelerin açıkça belirtilmesi gerekir. |
Override | 4 | Bir temel sınıf üyesini geçersiz kılan bir üye. |
Private | 20480 | Özel bir üye. |
Public | 24576 | Genel üye. |
ScopeMask | 15 | Kapsam maskesi. |
Static | 3 | Statik üye. Visual Basic'te bu anahtar sözcükle |
VTableMask | 240 | VTable maskesi. |
Örnekler
Aşağıdaki örnek kod, ve set
erişimcileri ile get
bir string
özellik tanımlamak için bir kullanımını CodeMemberProperty gösterir.
// 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
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.
Not
Ü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(Public Overridable
içinde C# () overridable
public virtual
içinde bir üye virtual
yapar. Üyenin veya overridable
olarak 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.
Not
Erişim bayraklarını (, , Assembly
veya Family
terimlerini Public
içeren bayraklar) ayarlama deseni, Private
AccessMask maskesini kullanarak tüm erişim bayraklarını maskeleyip istenen erişim bayrağını ayarlamaktır. Ö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.