Disons que je crée une classe "Planet" qui peut être héritée. L'un des objectifs de l'héritage est de créer un modèle avec différentes valeurs de propriétés par défaut. Par exemple:Remplacement des valeurs de propriété par défaut dans .Net, WinForms
Public Sub New
MyBase.New
MyBase.ForeColor = Red
MyBase.Name = "Mars"
etc.
End Sub
Maintenant, pour arrêter les paramètres par défaut sérialisation dans la méthode InitializeComponent, il y a 2 façons:
Si je l'ai mis à exécution les propriétés en utilisant l'attribut « DefaultValue », et les fait overridable, l'attribut peut être surchargé avec la nouvelle valeur. Le problème avec ceci est, il n'y a aucun moyen de faire juste les attributs remplaçables, par opposition à la propriété entière.
Je pourrais implémenter toutes les propriétés avec les méthodes protégées Reset'PropertyName 'et ShouldSerialize'PropertyName'. Cependant, c'est un peu une douleur dans le cul.
Est-il généralement important de s'assurer que quelqu'un qui remplace votre classe de base a la possibilité de changer les valeurs par défaut d'une propriété?