Partilhar via


FieldBuilder.SetValue Método

Definição

Define o valor do campo compatível com o objeto fornecido.

public:
 override void SetValue(System::Object ^ obj, System::Object ^ val, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Globalization::CultureInfo ^ culture);
public override void SetValue (object? obj, object? val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, System.Globalization.CultureInfo? culture);
public override void SetValue (object obj, object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture);
override this.SetValue : obj * obj * System.Reflection.BindingFlags * System.Reflection.Binder * System.Globalization.CultureInfo -> unit
Public Overrides Sub SetValue (obj As Object, val As Object, invokeAttr As BindingFlags, binder As Binder, culture As CultureInfo)

Parâmetros

obj
Object

O objeto no qual acessar o campo.

val
Object

O valor a ser atribuído ao campo.

invokeAttr
BindingFlags

Um membro do IBinder que especifica o tipo de associação desejado (por exemplo, IBinder.CreateInstance, IBinder.ExactBinding).

binder
Binder

Um conjunto de propriedades e habilitação para associação, coerção de tipos de argumento e invocação de membros usando reflexão. Se o associador for nulo, o IBinder.DefaultBinding será usado.

culture
CultureInfo

As preferências de software de uma cultura específica.

Exceções

Não há suporte para esse método.

Comentários

Esse método atribuirá o parâmetro val ao campo refletido por essa instância em Objectobj. Se o campo for estático, obj será ignorado. Para campos não estáticos, obj deve ser uma instância de uma classe que herda ou declara o campo.

O novo valor é passado como um Object. Por exemplo, se o tipo do campo for booliano, uma instância de Object com o valor booliano apropriado será passada. Antes de definir o valor, SetValue verifica se o usuário tem permissão de acesso.

As restrições de acesso são ignoradas para código totalmente confiável. Private construtores, métodos, campos e propriedades podem ser acessados e invocados usando Reflexão sempre que o código for totalmente confiável.

Nota

Atualmente, não há suporte para esse método. Como solução alternativa, recupere o FieldInfo refletindo sobre o tipo concluído e chame SetValue para definir o valor do campo.

Aplica-se a