Usare Reset e ShouldSerialize per controllare una proprietà (Windows Form .NET)
Questo articolo illustra come creare i Reset<PropertyName>
metodi e ShouldSerialize<PropertyName>
per gestire una proprietà per la finestra Proprietà in Visual Studio. Reset
e ShouldSerialize
sono metodi facoltativi che è possibile fornire per una proprietà, se la proprietà non ha un valore predefinito semplice. Se la proprietà ha un valore predefinito semplice, è necessario applicare e DefaultValueAttribute fornire il valore predefinito al costruttore della classe di attributi. Uno di questi meccanismi abilita le funzionalità seguenti nella finestra di progettazione:
- La proprietà fornisce indicazioni visive nel browser delle proprietà se è stata modificata dal valore predefinito.
- L'utente può fare clic con il pulsante destro del mouse sulla proprietà e scegliere Reimposta per ripristinare il valore predefinito della proprietà.
- La finestra di progettazione genera codice più efficiente.
Per altre informazioni sulle proprietà, vedere Reset and ShouldSerialize.
Codice di supporto
Questo articolo illustra i Reset
metodi e ShouldSerialize
creando un controllo rosa bussola. Se si usa il proprio controllo utente, è possibile ignorare questa sezione.
Aggiungere l'enumerazione seguente al codice:
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 Enum
Aggiungere un controllo utente denominato
CompassRose
.Aggiungere una proprietà denominata
Direction
di tipoDirections
al controllo utente.public Directions Direction { get; set; } = Directions.None;
Public Property Direction As Directions = Directions.None
Reimposta
Il Reset<PropertyName>
metodo reimposta la proprietà corrispondente <PropertyName>
sul valore predefinito.
Il codice seguente reimposta la Direction
proprietà su None
, che viene considerato il valore predefinito per il controllo rose della bussola:
private void ResetDirection() =>
Direction = Directions.None;
Private Sub ResetDirection()
Direction = Directions.None
End Sub
ShouldSerialize
Il ShouldSerialize<PropertyName>
metodo restituisce un valore booleano che indica se la proprietà di backup è stata modificata dal valore predefinito e deve essere serializzata nel codice della finestra di progettazione.
Il codice seguente restituisce true quando la Direction
proprietà non è uguale None
a , a indicare che è stata scelta una direzione:
private bool ShouldSerializeDirection() =>
Direction != Directions.None;
Private Function ShouldSerializeDirection() As Boolean
Return Direction <> Directions.None
End Function
Esempio
Il codice seguente illustra i Reset
metodi e ShouldSerialize
per la Direction
proprietà :
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