Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à créer les Reset<PropertyName> méthodes et ShouldSerialize<PropertyName> à gérer une propriété pour la fenêtre Propriétés dans Visual Studio.
Reset et ShouldSerialize sont des méthodes facultatives que vous pouvez fournir pour une propriété, si la propriété n’a pas de valeur par défaut simple. Si la propriété a une valeur par défaut simple, vous devez appliquer la DefaultValueAttribute valeur par défaut et fournir la valeur par défaut au constructeur de classe d’attribut à la place. L’un de ces mécanismes permet les fonctionnalités suivantes dans le concepteur :
- La propriété fournit une indication visuelle dans le navigateur de propriétés si elle a été modifiée à partir de sa valeur par défaut.
- L’utilisateur peut cliquer avec le bouton droit sur la propriété et choisir Réinitialiser pour restaurer la propriété à sa valeur par défaut.
- Le concepteur génère du code plus efficace.
Pour plus d’informations sur les propriétés, consultez Reset and ShouldSerialize.
Code d'assistance
Cet article illustre les méthodes Reset et ShouldSerialize en créant un contrôle de rose des vents. Si vous utilisez votre propre contrôle utilisateur, vous pouvez ignorer cette section.
Ajoutez l’énumération suivante à votre code :
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 EnumAjoutez un contrôle utilisateur nommé
CompassRose.Ajoutez une propriété nommée
Directionde typeDirectionsau contrôle utilisateur.public Directions Direction { get; set; } = Directions.None;Public Property Direction As Directions = Directions.None
Réinitialisation
La Reset<PropertyName> méthode réinitialise la propriété correspondante <PropertyName> à sa valeur par défaut.
Le code suivant réinitialise la propriété Direction à None, qui est considérée comme une valeur par défaut du contrôle de la rose des vents.
private void ResetDirection() =>
Direction = Directions.None;
Private Sub ResetDirection()
Direction = Directions.None
End Sub
DevraitSérialiser
La méthode ShouldSerialize<PropertyName> retourne une valeur booléenne qui indique si la propriété d'assistance a changé par rapport à sa valeur par défaut et doit être sérialisée dans le code du concepteur.
Le code suivant retourne true lorsque la Direction propriété n’est pas égale None, indiquant qu’une direction a été choisie :
private bool ShouldSerializeDirection() =>
Direction != Directions.None;
Private Function ShouldSerializeDirection() As Boolean
Return Direction <> Directions.None
End Function
Exemple :
Le code suivant montre les méthodes Reset et ShouldSerialize pour la propriété Direction.
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