Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Visual Studio'da Reset<PropertyName> penceresinin özelliğini yönetmek için ShouldSerialize<PropertyName> ve yöntemlerini oluşturmayı öğreneceksiniz.
Reset ve ShouldSerialize, özelliğin basit bir varsayılan değeri yoksa, bir özellik için sağlayabileceğiniz isteğe bağlı yöntemlerdir. Özelliğin basit bir varsayılan değeri varsa, DefaultValueAttribute uygulamanız ve bunun yerine öznitelik sınıfı oluşturucusunun varsayılan değerini sağlamanız gerekir. Bu mekanizmalardan biri tasarımcıda aşağıdaki özellikleri etkinleştirir:
- özelliği, varsayılan değerinden değiştirilmişse özellik tarayıcısında görsel gösterge sağlar.
- Kullanıcı özelliğe sağ tıklayıp Sıfırla'yı seçerek özelliği varsayılan değerine geri yükleyebilir.
- Tasarımcı daha verimli kod oluşturur.
Özellikler hakkında daha fazla bilgi için bkz. Reset ve ShouldSerialize.
Destekleyici kod
Bu makale, pusula gülü kontrolü oluşturarak Reset ve ShouldSerialize yöntemlerini göstermektedir. Kendi kullanıcı denetiminizle çalışıyorsanız bu bölümü atlayabilirsiniz.
Kodunuza aşağıdaki numaralandırmayı ekleyin:
public enum Directions { None, North, NorthEast, East, SouthEast, South, SouthWest, West, NorthWest, }Public Enum Directions None North NorthEast East SouthEast South SouthWest West NorthWest End EnumCompassRoseadlı bir kullanıcı denetimi ekleyin.Kullanıcı denetimine
DirectiontüründekiDirectionsadlı bir özellik ekleyin.public Directions Direction { get; set; } = Directions.None;Public Property Direction As Directions = Directions.None
Ayarla
Reset<PropertyName> yöntemi, karşılık gelen <PropertyName> özelliğini varsayılan değerine sıfırlar.
Aşağıdaki kod, pusula gül denetimi için varsayılan değer olarak kabul edilen Direction özelliğini Noneolarak sıfırlar:
private void ResetDirection() =>
Direction = Directions.None;
Private Sub ResetDirection()
Direction = Directions.None
End Sub
SerializeEdilmeli
ShouldSerialize<PropertyName> yöntemi, backing özelliğinin varsayılan değerinden değişip değişmediğini ve tasarımcının koduna seri hale getirilip getirilmeyeceğini gösteren bir boole değeri döndürür.
aşağıdaki kod, Direction özelliği Noneeşit olmadığında true değerini döndürür ve bir yönün seçildiğini gösterir:
private bool ShouldSerializeDirection() =>
Direction != Directions.None;
Private Function ShouldSerializeDirection() As Boolean
Return Direction <> Directions.None
End Function
Örnek
Aşağıdaki kod, Reset özelliği için ShouldSerialize ve Direction yöntemlerini gösterir:
public partial class CompassRose : UserControl
{
public Directions Direction { get; set; } = Directions.None;
public CompassRose() =>
InitializeComponent();
private void ResetDirection() =>
Direction = Directions.None;
private bool ShouldSerializeDirection() =>
Direction != Directions.None;
}
Public Class CompassRose
Public Property Direction As Directions = Directions.None
Private Sub ResetDirection()
Direction = Directions.None
End Sub
Private Function ShouldSerializeDirection() As Boolean
Return Direction <> Directions.None
End Function
End Class
.NET Desktop feedback