ReadOnlyAttribute Sınıf

Tanım

Bu özniteliğin bağlı olduğu özelliğin salt okunur mu yoksa okuma/yazma mı olduğunu belirtir. Bu sınıf devralınamaz.

public ref class ReadOnlyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute
public sealed class ReadOnlyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type ReadOnlyAttribute = class
    inherit Attribute
type ReadOnlyAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyAttribute
Inherits Attribute
Devralma
ReadOnlyAttribute
Öznitelikler

Örnekler

Aşağıdaki kod örneği bir özelliği salt okunur olarak işaretler.

   [ReadOnly(true)]
   int get()
   {
      // Insert code here.
      return 0;
   }
}
[ReadOnly(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
}
Public ReadOnly Property MyProperty() As Integer
    Get
        ' Insert code here.
        Return 0
    End Get
End Property

Sonraki kod örneği için MyPropertydeğerinin nasıl denetleneceklerini ReadOnlyAttribute gösterir. İlk olarak kod, nesnenin tüm özellikleriyle birlikte bir PropertyDescriptorCollection alır. Ardından, almak için dizinini PropertyDescriptorCollection oluşturur MyProperty. Ardından bu özelliğin özniteliklerini döndürür ve öznitelikler değişkenine kaydeder.

Örnek, değerini ReadOnlyAttributedenetlemenin iki farklı yolunu sunar. İkinci kod parçasında örnek yöntemini çağırır Equals . Son kod parçasında örnek, değerini denetlemek için özelliğini kullanır IsReadOnly .

// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyProperty" ]->Attributes;

// Checks to see whether the value of the ReadOnlyAttribute is Yes.
if ( attributes[ ReadOnlyAttribute::typeid ]->Equals( ReadOnlyAttribute::Yes ) )
{
   // Insert code here.
}

// This is another way to see whether the property is read-only.
ReadOnlyAttribute^ myAttribute = dynamic_cast<ReadOnlyAttribute^>(attributes[ ReadOnlyAttribute::typeid ]);
if ( myAttribute->IsReadOnly )
{
   // Insert code here.
}
// Gets the attributes for the property.
AttributeCollection attributes = 
   TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;
 
// Checks to see whether the value of the ReadOnlyAttribute is Yes.
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}
 
// This is another way to see whether the property is read-only.
ReadOnlyAttribute myAttribute = 
   (ReadOnlyAttribute)attributes[typeof(ReadOnlyAttribute)];
if(myAttribute.IsReadOnly) {
   // Insert code here.
}
' Gets the attributes for the property.
Dim attributes As AttributeCollection = _
    TypeDescriptor.GetProperties(Me)("MyProperty").Attributes

' Checks to see whether the value of the ReadOnlyAttribute is Yes.
If attributes(GetType(ReadOnlyAttribute)).Equals(ReadOnlyAttribute.Yes) Then
    ' Insert code here.
End If 

' This is another way to see whether the property is read-only.
Dim myAttribute As ReadOnlyAttribute = _
    CType(attributes(GetType(ReadOnlyAttribute)), ReadOnlyAttribute)
    
If myAttribute.IsReadOnly Then
    ' Insert code here.
End If

ile bir sınıfı ReadOnlyAttributeişaretlediyseniz, değerini denetlemek için aşağıdaki kod örneğini kullanın.

AttributeCollection^ attributes = TypeDescriptor::GetAttributes( MyProperty );
if ( attributes[ ReadOnlyAttribute::typeid ]->Equals( ReadOnlyAttribute::Yes ) )
{
   // Insert code here.
}
AttributeCollection attributes = 
   TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(ReadOnlyAttribute)).Equals(ReadOnlyAttribute.Yes) Then
    ' Insert code here.
End If

Açıklamalar

olarak ayarlanmış true veya yöntemi olmayan Set ile ReadOnlyAttribute işaretlenmiş üyeler değiştirilemez. Bu özniteliğe sahip olmayan veya olarak ayarlanmış false olarak ReadOnlyAttribute işaretlenmiş üyeler okunur/yazılır ve değiştirilebilir. Varsayılan değer: No.

Önemli

sınıfı, PropertyDescriptor tasarım ortamında ve çalışma zamanında öğesini ReadOnlyAttribute zorlar. olarak ayarlanmış truebir özelliği ReadOnlyAttribute işaretlediğinizde, bu özniteliğin değeri sabit üye Yesolarak ayarlanır. olarak ayarlanmış olarak ReadOnlyAttribute işaretlenmiş bir özellik için falsedeğeri şeklindedir No. Bu nedenle, kodunuzda bu özniteliğin değerini denetlemek istediğinizde özniteliğini veya ReadOnlyAttribute.Noolarak ReadOnlyAttribute.Yes belirtmeniz gerekir.

Daha fazla bilgi için bkz . Öznitelikler.

Oluşturucular

ReadOnlyAttribute(Boolean)

ReadOnlyAttribute sınıfının yeni bir örneğini başlatır.

Alanlar

Default

için ReadOnlyAttributeNo varsayılan değeri belirtir( yani, bu özniteliğin bağlı olduğu özellik okuma/yazmadır). Bu static alan salt okunur.

No

Bu özniteliğin bağlı olduğu özelliğin okuma/yazma olduğunu ve değiştirilebileceğini belirtir. Bu static alan salt okunur.

Yes

Bu özniteliğin bağlı olduğu özelliğin salt okunur olduğunu ve sunucu gezgininde değiştirilemeyeceğini belirtir. Bu static alan salt okunur.

Özellikler

IsReadOnly

Bu özniteliğin bağlı olduğu özelliğin salt okunur olup olmadığını belirten bir değer alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Bu örnek ile belirtilen bir nesnenin eşit olup olmadığını gösterir.

GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Bu özniteliğin varsayılan olup olmadığını belirler.

IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.