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
| Name | Değer | Description |
|---|---|---|
| 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# () overridablepublic virtualiç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.
Not
Erişim bayraklarını (, , Assemblyveya Familyterimlerini Publiciçeren bayraklar) ayarlama deseni, PrivateAccessMask 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.