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