Partilhar via


FieldInfo Classe

Definição

Descobre os atributos de um campo e fornece acesso aos metadados de 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
FieldInfo
Derivado
Atributos
Implementações

Exemplos

O exemplo a seguir usa o Type.GetFields método para obter as informações relacionadas ao campo da FieldInfo classe e exibe atributos de campo.

using namespace System;
using namespace System::Reflection;
public ref class FieldInfoClass
{
public:
   int myField1;

protected:
   String^ myField2;
};

int main()
{
   array<FieldInfo^>^myFieldInfo;
   Type^ myType = FieldInfoClass::typeid;

   // Get the type and fields of FieldInfoClass.
   myFieldInfo = myType->GetFields( static_cast<BindingFlags>(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 );
   }
}
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

Comentários

As informações de campo são obtidas 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 o conjunto dinâmico e a funcionalidade get para o campo. A classe não é carregada na memória até que invoke ou get seja chamado no objeto .

Notas aos Implementadores

Ao herdar de FieldInfo, você deve substituir os seguintes membros: GetValue(Object) e SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Construtores

FieldInfo()

Inicializa uma nova instância da classe FieldInfo.

Propriedades

Attributes

Obtém os atributos associados a esse campo.

CustomAttributes

Obtém uma coleção que contém os atributos personalizados desse membro.

(Herdado de MemberInfo)
DeclaringType

Obtém a classe que declara esse membro.

(Herdado de MemberInfo)
FieldHandle

Obtém um RuntimeFieldHandle, que é um identificador para a representação interna de metadados de um campo.

FieldType

Obtém o tipo do objeto deste campo.

IsAssembly

Obtém um valor que indica se a visibilidade potencial deste campo é ou não descrita por Assembly, ou seja, que o campo está visível no máximo para outros tipos no mesmo assembly, não estando visível para tipos derivados fora do assembly.

IsCollectible

Obtém um valor que indica se este objeto MemberInfo faz parte de um assembly mantido em uma coleção AssemblyLoadContext.

(Herdado de MemberInfo)
IsFamily

Obtém um valor que indica se a visibilidade do campo é ou não descrita por Family, ou seja, que o campo está visível somente dentro de sua classe e das classes derivadas.

IsFamilyAndAssembly

Obtém um valor que indica se a visibilidade do campo é ou não descrita por FamANDAssem, ou seja, o campo pode ser acessado de classes derivadas, mas somente se elas estiverem no mesmo assembly.

IsFamilyOrAssembly

Obtém um valor que indica se a visibilidade potencial desse campo é ou não descrita por FamORAssem, ou seja, o campo pode ser acessado por classes derivadas independentemente da localização delas, bem como por classes no mesmo assembly.

IsInitOnly

Obtém um valor que indica se o campo só pode ser definido no corpo do construtor.

IsLiteral

Obtém um valor que indica se o valor é gravado no tempo de compilação e não pode ser alterado.

IsNotSerialized
Obsoleto.

Obtém um valor que indica se esse campo tem o atributo NotSerialized.

IsPinvokeImpl

Obtém um valor que indica se o atributo PinvokeImpl correspondente está definido em FieldAttributes.

IsPrivate

Obtém um valor que indica se o campo é ou não privado.

IsPublic

Obtém um valor que indica se o campo é ou não público.

IsSecurityCritical

Obtém um valor que indica se o campo atual é crítico para segurança ou crítico para segurança e disponível no código transparente no nível de confiança atual.

IsSecuritySafeCritical

Obtém um valor que indica se o campo atual é crítico para segurança e disponível no código transparente no nível de confiança atual.

IsSecurityTransparent

Obtém um valor que indica se o campo atual é transparente no nível de confiança atual.

IsSpecialName

Obtém um valor que indica se o atributo SpecialName correspondente está definido no enumerador FieldAttributes.

IsStatic

Obtém um valor que indica se o campo é ou não estático.

MemberType

Obtém um valor MemberTypes que indica que esse membro é um campo.

MemberType

Quando substituído em uma classe derivada, obtém um valor MemberTypes que indica o tipo do membro – método, construtor, evento e assim por diante.

(Herdado de MemberInfo)
MetadataToken

Obtém um valor que identifica um elemento de metadados.

(Herdado de MemberInfo)
Module

Obtém o módulo no qual o tipo que declara o membro representado pelo MemberInfo atual está definido.

(Herdado de MemberInfo)
Name

Obtém o nome do membro atual.

(Herdado de MemberInfo)
ReflectedType

Obtém o objeto de classe que foi usado para obter esta instância de MemberInfo.

(Herdado de MemberInfo)

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de MemberInfo)
GetCustomAttributes(Boolean)

Quando substituído em uma classe derivada, retorna uma matriz de todos os atributos personalizados aplicados a esse membro.

(Herdado de MemberInfo)
GetCustomAttributes(Type, Boolean)

Quando substituído em uma classe derivada, retorna uma matriz de atributos personalizados aplicados a esse membro e identificados por Type.

(Herdado de MemberInfo)
GetCustomAttributesData()

Retorna uma lista de objetos CustomAttributeData que representam dados sobre os atributos que foram aplicados ao membro de destino.

(Herdado de MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

Obtém um FieldInfo para o campo representado pelo identificador especificado.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Obtém um FieldInfo para campo representado pelo identificador especificado, para o tipo genérico especificado.

GetHashCode()

Retorna o código hash para a instância.

GetHashCode()

Retorna o código hash para a instância.

(Herdado de MemberInfo)
GetModifiedFieldType()

Obtém o tipo modificado deste objeto de campo.

GetOptionalCustomModifiers()

Obtém uma matriz de tipos que identificam os modificadores personalizados opcionais do campo.

GetRawConstantValue()

Retorna um valor literal associado ao campo por um compilador.

GetRequiredCustomModifiers()

Obtém uma matriz de tipos que identificam os modificadores personalizados requeridos da propriedade.

GetType()

Descobre os atributos de um campo de classe e fornece acesso a metadados de campo.

GetType()

Descobre os atributos de um membro e fornece acesso aos metadados de membro.

(Herdado de MemberInfo)
GetValue(Object)

Quando substituído em uma classe derivada, retorna o valor de um campo com suporte por um determinado objeto.

GetValueDirect(TypedReference)

Retorna o valor de um campo com suporte no objeto especificado.

HasSameMetadataDefinitionAs(MemberInfo)

Descobre os atributos de um campo e fornece acesso aos metadados de campo.

(Herdado de MemberInfo)
IsDefined(Type, Boolean)

Quando substituído em uma classe derivada, indica se um ou mais atributos do tipo especificado ou de seus tipos derivados são aplicados a esse membro.

(Herdado de MemberInfo)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SetValue(Object, Object)

Define o valor do campo com suporte no objeto especificado.

SetValue(Object, Object, BindingFlags, Binder, CultureInfo)

Quando substituído em uma classe derivada, define o valor do campo com suporte por um determinado objeto.

SetValueDirect(TypedReference, Object)

Define o valor do campo com suporte no objeto especificado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Operadores

Equality(FieldInfo, FieldInfo)

Indica se dois objetos FieldInfo são iguais.

Inequality(FieldInfo, FieldInfo)

Indica se dois objetos FieldInfo não são iguais.

Implantações explícitas de interface

_FieldInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

_FieldInfo.GetType()

Obtém um objeto Type que representa o tipo FieldInfo.

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface.

_FieldInfo.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

_FieldInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece 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 expedição.

(Herdado de MemberInfo)
_MemberInfo.GetType()

Obtém um objeto Type que representa a classe MemberInfo.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Retorna uma matriz de todos os atributos personalizados definidos neste membro, exceto atributos nomeados ou então uma matriz vazia, se não houver nenhum atributo personalizado.

(Herdado de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Retorna uma matriz de atributos personalizados definidos neste membro, identificados por tipo ou então uma matriz vazia, se não houver nenhum atributo personalizado desse tipo.

(Herdado de MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Indica se uma ou mais instâncias de attributeType estão definidas nesse membro.

(Herdado de MemberInfo)

Métodos de Extensão

GetCustomAttribute(MemberInfo, Type)

Recupera um atributo personalizado de um tipo especificado aplicado a um membro especificado.

GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera um atributo personalizado de um tipo especificado aplicado a um membro especificado e opcionalmente inspeciona os ancestrais desse membro.

GetCustomAttribute<T>(MemberInfo)

Recupera um atributo personalizado de um tipo especificado aplicado a um membro especificado.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera um atributo personalizado de um tipo especificado aplicado a um membro especificado e opcionalmente inspeciona os ancestrais desse membro.

GetCustomAttributes(MemberInfo)

Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado.

GetCustomAttributes(MemberInfo, Boolean)

Recupera uma coleção de atributos personalizados aplicado a um membro especificado e opcionalmente inspeciona os ancestrais 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, Type, Boolean)

Recupera uma coleção de atributos personalizados de um tipo especificado aplicado a um membro especificado e opcionalmente inspeciona os ancestrais desse membro.

GetCustomAttributes<T>(MemberInfo)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera uma coleção de atributos personalizados de um tipo especificado aplicado a um membro especificado e opcionalmente inspeciona os ancestrais desse membro.

IsDefined(MemberInfo, Type)

Indica se os atributos personalizados de um tipo especificados são aplicados a um membro especificado.

IsDefined(MemberInfo, Type, Boolean)

Indica se os atributos personalizados de um tipo especificado são aplicados a um membro especificado e, opcionalmente, aplicados a seus ancestrais.

GetMetadataToken(MemberInfo)

Obtém um token de metadados para o membro fornecido, se disponível.

HasMetadataToken(MemberInfo)

Retorna um valor que indica se um token de metadados está disponível para o membro especificado.

Aplica-se a

Acesso thread-safe

Este tipo é thread-safe.

Confira também