DataContractBase.SetProperty Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
SetProperty<T>(T, T, String) |
Modifie la propriété avec la valeur donnée. |
SetProperty<T>(T, T, String, Boolean) |
Modifie la propriété avec la valeur donnée. |
SetProperty<T>(T, T, String)
Modifie la propriété avec la valeur donnée.
Indique si la nouvelle valeur est différente de l’ancienne.
protected void SetProperty<T> (ref T propertyBackingField, T newValue, string propertyName = default);
member this.SetProperty : 'T * 'T * string -> unit
Protected Sub SetProperty(Of T) (ByRef propertyBackingField As T, newValue As T, Optional propertyName As String = Nothing)
Paramètres de type
- T
Type de propriété.
Paramètres
- propertyBackingField
- T
Champ de stockage de la propriété à modifier.
- newValue
- T
Nouvelle valeur à affecter à la propriété.
- propertyName
- String
Nom de la propriété. Il est recommandé que l’appelant de la méthode code en dur cette valeur. Même si elles favorisent la refactorisation, les approches faisant appel à la réflexion ou à des expressions lambda pour obtenir le nom de la propriété sont moins performantes. Le codage en dur présente toutefois l’inconvénient d’être vulnérable aux fautes de frappe et aux erreurs de copier-coller. Toutefois, cette vulnérabilité est atténuée par les tests unitaires qui utilisent la réflexion pour vérifier ce paramètre pour toutes les propriétés de classe de contrat de données. L’idée derrière cela, c’est qu’il est préférable que la baisse des performances liée à la réflexion affecte les tests unitaires plutôt que le code de production.
S’applique à
SetProperty<T>(T, T, String, Boolean)
Modifie la propriété avec la valeur donnée.
Indique si la nouvelle valeur est différente de l’ancienne.
protected bool SetProperty<T> (ref T propertyBackingField, T newValue, string propertyName = default, bool emptyStringIsNull = false);
member this.SetProperty : 'T * 'T * string * bool -> bool
Protected Function SetProperty(Of T) (ByRef propertyBackingField As T, newValue As T, Optional propertyName As String = Nothing, Optional emptyStringIsNull As Boolean = false) As Boolean
Paramètres de type
- T
Type de propriété.
Paramètres
- propertyBackingField
- T
Champ de stockage de la propriété à modifier.
- newValue
- T
Nouvelle valeur à affecter à la propriété.
- propertyName
- String
Nom de la propriété. Il est recommandé que l’appelant de la méthode code en dur cette valeur. Même si elles favorisent la refactorisation, les approches faisant appel à la réflexion ou à des expressions lambda pour obtenir le nom de la propriété sont moins performantes. Le codage en dur présente toutefois l’inconvénient d’être vulnérable aux fautes de frappe et aux erreurs de copier-coller. Toutefois, cette vulnérabilité est atténuée par les tests unitaires qui utilisent la réflexion pour vérifier ce paramètre pour toutes les propriétés de classe de contrat de données. L’idée derrière cela, c’est qu’il est préférable que la baisse des performances liée à la réflexion affecte les tests unitaires plutôt que le code de production.
- emptyStringIsNull
- Boolean
Indicateur qui précise ce qu’il faut faire si newValue est une chaîne vide. Si cette valeur est true, les chaînes vides sont traitées comme des valeurs null. Cela signifie que si la valeur existante est null et qu’une chaîne vide est définie avec cet indicateur, il n’y aura aucune conséquence.
Retours
Si la propriété a été modifiée. Autrement dit, si la nouvelle valeur donnée est différente de l’ancienne valeur de la propriété.