FieldBuilder.SetValue Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define o valor do campo suportado pelo objeto dado.
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);
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 para aceder ao campo.
- val
- Object
O valor a atribuir ao campo.
- invokeAttr
- BindingFlags
Um membro dessa IBinder especifica o tipo de ligação desejada (por exemplo, IBinder.CreateInstance, IBinder.ExactBinding).
- binder
- Binder
Um conjunto de propriedades e possibilitação para ligação, coerção de tipos de argumentos e invocação de membros usando reflexão. Se o binder for nulo, então é usado o IBinder.DefaultBinding.
- culture
- CultureInfo
As preferências de software de uma determinada cultura.
Exceções
Este método não é suportado.
Observações
Este método atribuirá o val parâmetro ao campo refletido por esta instância em Objectobj. Se o campo for estático, obj será ignorado. Para corpos não estáticos, obj deve ser uma instância de uma classe que herda ou declara o corpo.
O novo valor é passado como um Object. Por exemplo, se o tipo do campo for Booleano, passa uma instância de Object com o valor Booleano apropriado. Antes de definir o valor, SetValue verifica se o utilizador 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 acedidos e invocados usando Reflection sempre que o código for totalmente confiável.
Note
Este método não é atualmente suportado. Como solução alternativa, recupera o FieldInfo refletindo sobre o tipo e a chamada SetValue finalizados para definir o valor do campo.