DefaultValueAttribute sınıfının belgeleri kafa karıştırıcı

Bu makalede DefaultValueAttribute sınıfının kafa karıştırıcı belgeleri açıklanmaktadır.

Orijinal ürün sürümü: .NET Framework
Özgün KB numarası: 311339

Özet

Sınıfın DefaultValueAttributebelgeleri kafa karıştırıcı olabilir. Özellikle bu belgelerde şu ifadeler yer aldı:
Bir üyenin varsayılan değeri genellikle ilk değeridir.

Bundan, bir özelliğin özniteliğini DefaultValue ayarlarsanız özelliğin bu değere başlatıldığı sonucuna varabilirsiniz. Ancak, özelliğin DefaultValue özniteliğini başlatılan değerine eşit olarak ayarlamanız gerekir.

Daha fazla bilgi

Öznitelikleri Kullanarak Meta Verileri Genişletme konusu şu şekildedir:

Ortak dil çalışma zamanı, türler, alanlar, yöntemler ve özellikler gibi programlama öğelerine açıklama eklemek için öznitelik olarak adlandırılan anahtar sözcük benzeri açıklayıcı bildirimler eklemenize olanak tanır. Öznitelikler bir Microsoft .NET Framework dosyasının meta verileriyle kaydedilir ve kodunuzu çalışma zamanına açıklamak veya çalışma zamanında uygulama davranışını etkilemek için kullanılabilir.

Özelliğin özniteliği, başlatılan değerine eşitse, varsayılan değeri belirlemek için özelliğin meta verilerine erişebilirsiniz. Daha sonra gerekirse ilgili üye değişkenini sıfırlamak için bu varsayılan değeri kullanabilirsiniz. Üye değişkeni için kod oluşturulup oluşturulmayacağını belirlemek üzere özniteliğini DefaultValue kullanmak üzere kod oluşturucuları da yazabilirsiniz. Üye değişkenin ilk değerini düzgün ayarlaması için kod oluşturulacak olup olmadığını belirlemeniz gerekir.

Ancak öznitelik, DefaultValue ilk değerin özniteliğin değeriyle başlatılmasına neden olmaz. Örneğin, aşağıdaki kod örneğinde IsValueSet özelliği varsayılan True değerine sahiptir ve aynı zamanda True değerine de başlatılır. Başlatılmazsa, öğesinin ilk değeri m_isValueSetFalse olur.

Imports System.ComponentModel
Public Class DefaultAttributeSample
    ' You must still initialize your member variable to its default value;
    ' the DefaultValue attribute does not do this.
    Private m_isValueSet As Boolean = True
    ' The DefaultValue attribute should be equal to the member's initial
    ' value.
    <DefaultValueAttribute(True)> _
    Public Property IsValueSet() As Boolean
        Get
            IsValueSet = m_isValueSet
        End Get
        Set(ByVal Value As Boolean)
            m_isValueSet = Value
        End Set
    End Property
End Class

Ortak dil çalışma zamanına meta veri sağlamak için özniteliklerin nasıl uygulanacağı hakkında daha fazla bilgi için bkz. Öznitelikleri Kullanarak Meta Verileri Genişletme.

Bileşenleri Visual Studio .NET veya Visual Studio gibi bir tasarımcıda görüntüleyebildiğiniz için, bileşenler tasarım zamanı araçlarına meta veri sağlayan öznitelikler gerektirir.

Denetiminizi ve üyelerini tasarım zamanında doğru şekilde görüntülemek için tasarım zamanı öznitelikleri, görsel tasarım aracına değerli bilgiler sağladığından önemlidir. Örneğin, aşağıdaki kod parçasında CategoryAttribute özniteliği özellik tarayıcısının özelliği kategoride görüntülemesini TextAlignmentAlignment sağlar. özniteliği, DescriptionAttribute bir kullanıcı tıkladığında özellik tarayıcısının özelliğin kısa bir açıklamasını sağlamasına olanak tanır.

[
    Category ("Alignment"),
    Description ("Specifies the alignment of text.")
]
public ContentAlignment TextAlignment { //... }
<Category("Alignment"), _
Description("Specifies the alignment of text.")> _
Public Property TextAlignment As ContentAlignment
    ' ...
End Property

Not

Visual C# .NET, Visual Basic .NET veya Visual Basic'te, öznitelik söz dizimindeki gibi AttributeName simply adlı AttributeNameAttribute bir öznitelik sınıfına başvurabilirsiniz.

Başvurular

Daha fazla bilgi için bkz . Özniteliklere Genel Bakış.