FieldBuilder.SetValue 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.
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.