FieldInfo Clase

Definición

Detecta los atributos de un campo y proporciona acceso a sus metadatos.

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
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FieldInfo : System.Reflection.MemberInfo
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
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FieldInfo = class
    inherit MemberInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Implements _FieldInfo
Herencia
FieldInfo
Derivado
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se usa el Type.GetFields método para obtener la información relacionada con los campos de la FieldInfo clase y, a continuación, se muestran los 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

Comentarios

La información del campo se obtiene de los metadatos. La FieldInfo clase no tiene un constructor público. FieldInfo Los objetos se obtienen mediante una llamada al GetFields método o GetField de un Type objeto .

Los campos son variables definidas en la clase . FieldInfo proporciona acceso a los metadatos de un campo dentro de una clase y proporciona un conjunto dinámico y una funcionalidad de obtención para el campo. La clase no se carga en la memoria hasta que se llama a invoke u get en el objeto .

Notas a los implementadores

Al heredar de FieldInfo, es necesario reemplazar los miembros siguientes: GetValue(Object) y SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Constructores

FieldInfo()

Inicializa una nueva instancia de la clase FieldInfo.

Propiedades

Attributes

Obtiene los atributos asociados a este campo.

CustomAttributes

Obtiene una colección que contiene los atributos personalizados de este miembro.

(Heredado de MemberInfo)
DeclaringType

Obtiene la clase que declara este miembro.

(Heredado de MemberInfo)
FieldHandle

Obtiene una estructura RuntimeFieldHandle, que es un identificador para la representación interna de los metadatos de un campo.

FieldType

Obtiene el tipo de este objeto de campo.

IsAssembly

Obtiene un valor que indica si Assembly describe la visibilidad posible de este campo; es decir, el campo es visible como mucho para otros tipos del mismo ensamblado y no es visible para los tipos derivados fuera del ensamblado.

IsCollectible

Obtiene un valor que indica si este objeto MemberInfo forma parte de un ensamblado contenido en un AssemblyLoadContext recopilable.

(Heredado de MemberInfo)
IsFamily

Obtiene un valor que indica si Family describe la visibilidad de este campo; es decir, el campo sólo es visible dentro de su clase y clases derivadas.

IsFamilyAndAssembly

Obtiene un valor que indica si FamANDAssem describe la visibilidad de este campo; es decir, se puede tener acceso al campo desde clases derivadas, pero sólo si están en el mismo ensamblado.

IsFamilyOrAssembly

Obtiene un valor que indica si FamORAssem describe la visibilidad posible de este campo; es decir, las clases derivadas pueden tener acceso al campo con independencia de dónde se encuentren, así como las clases del mismo ensamblado.

IsInitOnly

Obtiene un valor que indica si el campo sólo se puede establecer en el cuerpo del constructor.

IsLiteral

Obtiene un valor que indica si el valor se escribe en tiempo de compilación y no puede cambiarse.

IsNotSerialized

Obtiene un valor que indica si este campo dispone del atributo NotSerialized.

IsPinvokeImpl

Obtiene un valor que indica si el atributo PinvokeImpl correspondiente está definido en FieldAttributes.

IsPrivate

Obtiene un valor que indica si el campo es privado.

IsPublic

Obtiene un valor que indica si el campo es público.

IsSecurityCritical

Obtiene un valor que indica si el campo actual es crítico para la seguridad o crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual.

IsSecuritySafeCritical

Obtiene un valor que indica si el campo actual es crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual.

IsSecurityTransparent

Obtiene un valor que indica si el campo actual es transparente en el nivel de confianza actual.

IsSpecialName

Obtiene un valor que indica si el atributo SpecialName correspondiente está definido en el enumerador FieldAttributes.

IsStatic

Obtiene un valor que indica si el campo es estático.

MemberType

Obtiene un valor de MemberTypes que indica que este miembro es un campo.

MemberType

Cuando se invalida en una clase derivada, obtiene un valor MemberTypes que indica el tipo de miembro: método, constructor, evento, etc.

(Heredado de MemberInfo)
MetadataToken

Obtiene un valor que identifica un elemento de metadatos.

(Heredado de MemberInfo)
Module

Obtiene el módulo en el que el tipo que declara el miembro representado por el objeto MemberInfo actual está definido.

(Heredado de MemberInfo)
Name

Obtiene el nombre del miembro actual.

(Heredado de MemberInfo)
ReflectedType

Obtiene el objeto de la clase utilizado para obtener esta instancia de MemberInfo.

(Heredado de MemberInfo)

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de MemberInfo)
GetCustomAttributes(Boolean)

Cuando se reemplaza en una clase derivada, devuelve una matriz de todos los atributos personalizados aplicados a este miembro.

(Heredado de MemberInfo)
GetCustomAttributes(Type, Boolean)

Cuando se invalida en una clase derivada, devuelve una matriz de atributos personalizados aplicados a este miembro e identificado por Type.

(Heredado de MemberInfo)
GetCustomAttributesData()

Devuelve una lista de objetos CustomAttributeData que representan datos sobre los atributos que se aplicaron al miembro de destino.

(Heredado de MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

Obtiene FieldInfo para el campo representado por el identificador especificado.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Obtiene FieldInfo para el campo representado por el identificador especificado, para el tipo genérico especificado.

GetHashCode()

Devuelve el código hash de esta instancia.

GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de MemberInfo)
GetOptionalCustomModifiers()

Obtiene una matriz de tipos que identifican los modificadores personalizados opcionales del campo.

GetRawConstantValue()

Devuelve un valor literal asociado al campo mediante un compilador.

GetRequiredCustomModifiers()

Obtiene una matriz de tipos que identifican los modificadores personalizados necesarios de la propiedad.

GetType()

Detecta los atributos de un campo de clase y proporciona acceso a sus metadatos.

GetType()

Detecta los atributos de un miembro y proporciona acceso a sus metadatos.

(Heredado de MemberInfo)
GetValue(Object)

Cuando se reemplaza en una clase derivada, devuelve el valor de un campo compatible con un objeto concreto.

GetValueDirect(TypedReference)

Devuelve el valor de un campo compatible con un objeto dado.

HasSameMetadataDefinitionAs(MemberInfo) (Heredado de MemberInfo)
IsDefined(Type, Boolean)

Cuando se reemplaza en una clase derivada, indica si se aplican a este miembro uno o más atributos del tipo especificado o de sus tipos derivados.

(Heredado de MemberInfo)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetValue(Object, Object)

Establece el valor del campo admitido por el objeto determinado.

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

Cuando se reemplaza en una clase derivada, se establece el valor del campo compatible con el objeto dado.

SetValueDirect(TypedReference, Object)

Establece el valor del campo admitido por el objeto determinado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Equality(FieldInfo, FieldInfo)

Indica si dos objetos FieldInfo son iguales.

Inequality(FieldInfo, FieldInfo)

Indica si dos objetos FieldInfo no son iguales.

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

_FieldInfo.GetType()

Obtiene un objeto Type que representa el tipo de FieldInfo.

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz.

_FieldInfo.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

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

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de MemberInfo)
_MemberInfo.GetType()

Objeto Type que representa la clase MemberInfo.

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

Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz.

(Heredado de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

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

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Devuelve una matriz de todos los atributos personalizados definidos en este miembro, excluidos los atributos con nombre, o una matriz vacía si no hay atributos personalizados.

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

Devuelve una matriz de atributos personalizados definidos en este miembro, identificados por tipo, o una matriz vacía si no hay atributos personalizados de ese tipo.

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

Indica si una o más instancias de attributeType se definen en este miembro.

(Heredado de MemberInfo)

Métodos de extensión

GetCustomAttribute(MemberInfo, Type)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto.

GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro.

GetCustomAttribute<T>(MemberInfo)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro.

GetCustomAttributes(MemberInfo)

Recupera una colección de atributos personalizados que se aplican a un miembro especificado.

GetCustomAttributes(MemberInfo, Boolean)

Recupera una colección de atributos personalizados que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro.

GetCustomAttributes(MemberInfo, Type)

Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro.

GetCustomAttributes<T>(MemberInfo)

Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro.

IsDefined(MemberInfo, Type)

Indica si se deben aplicar atributos personalizados de un tipo especificado a un miembro especificado.

IsDefined(MemberInfo, Type, Boolean)

Indica si los atributos personalizados de un tipo especificado se aplican a un miembro especificado y, opcionalmente, se aplican a sus antecesores.

GetMetadataToken(MemberInfo)

Obtiene un token de metadatos del miembro determinado, si está disponible.

HasMetadataToken(MemberInfo)

Devuelve un valor que indica si un token de metadatos está disponible para el miembro especificado.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.

Consulte también