DataContractBase.SetProperty Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
SetProperty<T>(T, T, String) |
Altera a propriedade para o valor determinado. |
SetProperty<T>(T, T, String, Boolean) |
Altera a propriedade para o valor determinado. |
SetProperty<T>(T, T, String)
Altera a propriedade para o valor determinado.
Retorna se o novo valor é diferente do valor antigo.
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)
Parâmetros de tipo
- T
O tipo de propriedade.
Parâmetros
- propertyBackingField
- T
O campo de reforço da propriedade a ser alterada.
- newValue
- T
O novo valor a ser dado para a propriedade.
- propertyName
- String
O nome da propriedade. É recomendável que se faça hard-coding desse valor pelo chamador do método, em vez de usar uma abordagem menos eficaz (mas mais amigável de refatoração), como usar reflexão ou expressões lambda para obter o nome da propriedade. A desvantagem do hard-coding é a vulnerabilidade a erros de digitação e do tipo copiar/colar. No entanto, essa vulnerabilidade é reduzida por testes de unidade que usam a reflexão para verificar esse parâmetro para todas as propriedades de classe de contrato de dados. A ideia de que é melhor pagar a penalidade de desempenho de reflexão nos testes de unidade, em vez de no código de produção.
Aplica-se a
SetProperty<T>(T, T, String, Boolean)
Altera a propriedade para o valor determinado.
Retorna se o novo valor é diferente do valor antigo.
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
Parâmetros de tipo
- T
O tipo de propriedade.
Parâmetros
- propertyBackingField
- T
O campo de reforço da propriedade a ser alterada.
- newValue
- T
O novo valor a ser dado para a propriedade.
- propertyName
- String
O nome da propriedade. É recomendável que se faça hard-coding desse valor pelo chamador do método, em vez de usar uma abordagem menos eficaz (mas mais amigável de refatoração), como usar reflexão ou expressões lambda para obter o nome da propriedade. A desvantagem do hard-coding é a vulnerabilidade a erros de digitação e do tipo copiar/colar. No entanto, essa vulnerabilidade é reduzida por testes de unidade que usam a reflexão para verificar esse parâmetro para todas as propriedades de classe de contrato de dados. A ideia de que é melhor pagar a penalidade de desempenho de reflexão nos testes de unidade, em vez de no código de produção.
- emptyStringIsNull
- Boolean
Um sinalizador que indica o que fazer se newValue for uma cadeia de caracteres vazia. Se esse valor for definido como true, cadeias de caracteres vazias serão tratadas como valores nulos. Isso significa que, se o valor existente for nulo e uma cadeia de caracteres vazia for ativada com esse sinalizador, ele não terá efeito.
Retornos
Se a propriedade foi alterada. Ou seja, se o novo valor fornecido for diferente do valor antigo da propriedade.