FieldInfo Classe
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.
Descobre os atributos de um campo e fornece acesso a metadados do campo.
public ref class FieldInfo abstract : System::Reflection::MemberInfo
public ref class FieldInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_FieldInfo
public abstract class FieldInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
type FieldInfo = class
inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type FieldInfo = class
inherit MemberInfo
interface _FieldInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FieldInfo = class
inherit MemberInfo
interface _FieldInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Implements _FieldInfo
- Herança
- Derivado
- Atributos
- Implementações
Exemplos
O exemplo seguinte utiliza o Type.GetFields método para obter a informação relacionada com o campo da FieldInfo classe e depois apresenta os atributos do campo.
using System;
using System.Reflection;
public class FieldInfoClass
{
public int myField1 = 0;
protected string myField2 = null;
public static void Main()
{
FieldInfo[] myFieldInfo;
Type myType = typeof(FieldInfoClass);
// Get the type and fields of FieldInfoClass.
myFieldInfo = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance
| BindingFlags.Public);
Console.WriteLine("\nThe fields of " +
"FieldInfoClass are \n");
// Display the field information of FieldInfoClass.
for(int i = 0; i < myFieldInfo.Length; i++)
{
Console.WriteLine("\nName : {0}", myFieldInfo[i].Name);
Console.WriteLine("Declaring Type : {0}", myFieldInfo[i].DeclaringType);
Console.WriteLine("IsPublic : {0}", myFieldInfo[i].IsPublic);
Console.WriteLine("MemberType : {0}", myFieldInfo[i].MemberType);
Console.WriteLine("FieldType : {0}", myFieldInfo[i].FieldType);
Console.WriteLine("IsFamily : {0}", myFieldInfo[i].IsFamily);
}
}
}
Imports System.Reflection
Public Class FieldInfoClass
Public myField1 As Integer = 0
Protected myField2 As String = Nothing
Public Shared Sub Main()
Dim myFieldInfo() As FieldInfo
Dim myType As Type = GetType(FieldInfoClass)
' Get the type and fields of FieldInfoClass.
myFieldInfo = myType.GetFields(BindingFlags.NonPublic Or _
BindingFlags.Instance Or BindingFlags.Public)
Console.WriteLine(ControlChars.NewLine & "The fields of " & _
"FieldInfoClass class are " & ControlChars.NewLine)
' Display the field information of FieldInfoClass.
Dim i As Integer
For i = 0 To myFieldInfo.Length - 1
Console.WriteLine(ControlChars.NewLine + "Name : {0}", myFieldInfo(i).Name)
Console.WriteLine("Declaring Type : {0}", myFieldInfo(i).DeclaringType)
Console.WriteLine("IsPublic : {0}", myFieldInfo(i).IsPublic)
Console.WriteLine("MemberType : {0}", myFieldInfo(i).MemberType)
Console.WriteLine("FieldType : {0}", myFieldInfo(i).FieldType)
Console.WriteLine("IsFamily : {0}", myFieldInfo(i).IsFamily)
Next i
End Sub
End Class
Observações
A informação de campo é obtida a partir de metadados. A FieldInfo classe não tem um construtor público.
FieldInfo os objetos são obtidos chamando o GetFields método ou GetField de um Type objeto.
Os campos são variáveis definidas na classe. FieldInfo fornece acesso aos metadados de um campo dentro de uma classe e fornece funcionalidades dinâmicas de conjunto e obtenção para o campo. A classe não é carregada na memória até que o invoke ou get seja chamado no objeto.
Notas para Implementadores
Quando herdas de FieldInfo, deves sobrepor os seguintes membros: GetValue(Object) e SetValue(Object, Object, BindingFlags, Binder, CultureInfo).
Construtores
| Name | Description |
|---|---|
| FieldInfo() |
Inicializa uma nova instância da |
Propriedades
| Name | Description |
|---|---|
| Attributes |
Obtém os atributos associados a este campo. |
| CustomAttributes |
Obtém uma coleção que contém os atributos personalizados deste membro. (Herdado de MemberInfo) |
| DeclaringType |
Recebe a classe que declara esse membro. (Herdado de MemberInfo) |
| FieldHandle |
Obtém um |
| FieldType |
Obtém o tipo deste objeto de campo. |
| IsAssembly |
Obtém um valor que indica se a visibilidade potencial deste campo é descrita por Assembly; ou seja, o campo é visível no máximo para outros tipos na mesma montagem, e não é visível para tipos derivados fora da montagem. |
| IsFamily |
Obtém um valor que indica se a visibilidade deste campo é descrita por Family; ou seja, o campo é visível apenas dentro da sua classe e das classes derivadas. |
| IsFamilyAndAssembly |
Obtém um valor que indica se a visibilidade deste campo é descrita por FamANDAssem; ou seja, o campo pode ser acedido a partir de classes derivadas, mas apenas se estiverem na mesma assembleia. |
| IsFamilyOrAssembly |
Obtém um valor que indica se a visibilidade potencial deste campo é descrita por FamORAssem; isto é, o campo pode ser acedido por classes derivadas onde quer que estejam, e por classes na mesma assembleia. |
| IsInitOnly |
Obtém um valor que indica se o corpo só pode ser definido no corpo do construtor. |
| IsLiteral |
Recebe um valor que indica se o valor está escrito em tempo de compilação e não pode ser alterado. |
| IsNotSerialized |
Obtém um valor que indica se este campo tem o |
| IsPinvokeImpl |
Obtém um valor que indica se o atributo correspondente |
| IsPrivate |
Recebe um valor que indica se o campo é privado. |
| IsPublic |
Recebe um valor que indica se o campo é público. |
| IsSecurityCritical |
Obtém um valor que indica se o campo atual é crítico para segurança ou para segurança ao nível de confiança atual. |
| IsSecuritySafeCritical |
Obtém um valor que indica se o campo atual é crítico de segurança ao nível de confiança atual. |
| IsSecurityTransparent |
Obtém um valor que indica se o campo atual é transparente ao nível de confiança atual. |
| IsSpecialName |
Obtém um valor que indica se o atributo correspondente |
| IsStatic |
Obtém um valor que indica se o campo é estático. |
| MemberType |
Obtém um MemberTypes valor que indica que este membro é um campo. |
| MetadataToken |
Obtém um valor que identifica um elemento de metadados. (Herdado de MemberInfo) |
| Module |
Obtém o módulo em que o tipo que declara o elemento representado pela corrente MemberInfo está definido. (Herdado de MemberInfo) |
| Name |
Fica com o nome do membro atual. (Herdado de MemberInfo) |
| ReflectedType |
Obtém o objeto de classe que foi usado para obter esta instância de |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. |
| GetCustomAttributes(Boolean) |
Quando sobrescrito numa classe derivada, devolve um array de todos os atributos personalizados aplicados a este membro. (Herdado de MemberInfo) |
| GetCustomAttributes(Type, Boolean) |
Quando sobrescrito numa classe derivada, devolve um array de atributos personalizados aplicados a este membro e identificados por Type. (Herdado de MemberInfo) |
| GetCustomAttributesData() |
Devolve uma lista de CustomAttributeData objetos que representam dados sobre os atributos que foram aplicados ao membro alvo. (Herdado de MemberInfo) |
| GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle) |
Obtém um FieldInfo para o campo representado pelo handle especificado, para o tipo genérico especificado. |
| GetFieldFromHandle(RuntimeFieldHandle) |
Obtém um FieldInfo para o campo representado pelo handle especificado. |
| GetHashCode() |
Devolve o código de hash para esta instância. |
| GetOptionalCustomModifiers() |
Recebe um conjunto de tipos que identificam os modificadores personalizados opcionais do campo. |
| GetRawConstantValue() |
Devolve um valor literal associado ao campo por um compilador. |
| GetRequiredCustomModifiers() |
Obtém um array de tipos que identificam os modificadores personalizados necessários da propriedade. |
| GetType() |
Descobre os atributos de um campo de classe e fornece acesso a metadados do campo. |
| GetValue(Object) |
Quando sobrescrito numa classe derivada, devolve o valor de um campo suportado por um dado objeto. |
| GetValueDirect(TypedReference) |
Devolve o valor de um campo suportado por um dado objeto. |
| HasSameMetadataDefinitionAs(MemberInfo) |
Descobre os atributos de um campo e fornece acesso a metadados do campo. (Herdado de MemberInfo) |
| IsDefined(Type, Boolean) |
Quando sobrescrito numa classe derivada, indica se um ou mais atributos do tipo especificado ou dos seus tipos derivados são aplicados a este membro. (Herdado de MemberInfo) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| SetValue(Object, Object, BindingFlags, Binder, CultureInfo) |
Quando sobrescrito numa classe derivada, define o valor do campo suportado pelo objeto dado. |
| SetValue(Object, Object) |
Define o valor do campo suportado pelo objeto dado. |
| SetValueDirect(TypedReference, Object) |
Define o valor do campo suportado pelo objeto dado. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Operadores
| Name | Description |
|---|---|
| Equality(FieldInfo, FieldInfo) |
Indica se dois FieldInfo objetos são iguais. |
| Inequality(FieldInfo, FieldInfo) |
Indica se dois FieldInfo objetos não são iguais. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _FieldInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. |
| _FieldInfo.GetType() | |
| _FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface. |
| _FieldInfo.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). |
| _FieldInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. |
| _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de MemberInfo) |
| _MemberInfo.GetType() |
Obtém um Type objeto que representa a MemberInfo classe. (Herdado de MemberInfo) |
| _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface. (Herdado de MemberInfo) |
| _MemberInfo.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de MemberInfo) |
| _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Devolve um array de todos os atributos personalizados definidos neste membro, excluindo atributos nomeados, ou um array vazio se não existirem atributos personalizados. (Herdado de MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Devolve um array de atributos personalizados definidos neste membro, identificados pelo tipo, ou um array vazio se não existirem atributos personalizados desse tipo. (Herdado de MemberInfo) |
| ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indica se uma ou mais instâncias de |
Métodos da Extensão
| Name | Description |
|---|---|
| GetCustomAttribute(MemberInfo, Type, Boolean) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttribute(MemberInfo, Type) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado. |
| GetCustomAttribute<T>(MemberInfo, Boolean) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttribute<T>(MemberInfo) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado. |
| GetCustomAttributes(MemberInfo, Boolean) |
Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttributes(MemberInfo, Type, Boolean) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttributes(MemberInfo, Type) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado. |
| GetCustomAttributes(MemberInfo) |
Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado. |
| GetCustomAttributes<T>(MemberInfo, Boolean) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttributes<T>(MemberInfo) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado. |
| IsDefined(MemberInfo, Type, Boolean) |
Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado e, opcionalmente, aplicados aos seus antecessores. |
| IsDefined(MemberInfo, Type) |
Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado. |
Aplica-se a
Segurança de Thread
Este tipo é seguro para fios.