FieldInfo Clase

Definición

Detecta los atributos de un campo y proporciona acceso a los metadatos 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
Herencia
FieldInfo
Derivado
Atributos
Implementaciones

Ejemplos

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

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 llamando 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 una funcionalidad de conjunto dinámico y obtención para el campo. La clase no se carga en memoria hasta que se llama a invoke or get en el objeto .

Notas a los implementadores

Al heredar de FieldInfo, debe invalidar los siguientes miembros: GetValue(Object) y SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Constructores

Nombre Description
FieldInfo()

Inicializa una nueva instancia de la clase FieldInfo.

Propiedades

Nombre Description
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 un , RuntimeFieldHandleque es un identificador de la representación de metadatos interna de un campo.

FieldType

Obtiene el tipo de este objeto de campo.

IsAssembly

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

IsFamily

Obtiene un valor que indica si la visibilidad de este campo se describe mediante Family; es decir, el campo solo está visible dentro de su clase y clases derivadas.

IsFamilyAndAssembly

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

IsFamilyOrAssembly

Obtiene un valor que indica si la visibilidad potencial de este campo se describe mediante FamORAssem; es decir, las clases derivadas dondequiera que estén y las clases del mismo ensamblado pueden tener acceso al campo.

IsInitOnly

Obtiene un valor que indica si el campo solo 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 se puede cambiar.

IsNotSerialized

Obtiene un valor que indica si este campo tiene el NotSerialized atributo .

IsPinvokeImpl

Obtiene un valor que indica si el atributo correspondiente PinvokeImpl está establecido 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 en el nivel de confianza actual.

IsSecuritySafeCritical

Obtiene un valor que indica si el campo actual es crítico para la seguridad 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 correspondiente SpecialName se establece en el FieldAttributes enumerador.

IsStatic

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

MemberType

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

MetadataToken

Obtiene un valor que identifica un elemento de metadatos.

(Heredado de MemberInfo)
Module

Obtiene el módulo en el que se define el tipo que declara el miembro representado por el actual MemberInfo .

(Heredado de MemberInfo)
Name

Obtiene el nombre del miembro actual.

(Heredado de MemberInfo)
ReflectedType

Obtiene el objeto de clase que se usó para obtener esta instancia de MemberInfo.

(Heredado de MemberInfo)

Métodos

Nombre Description
Equals(Object)

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

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 reemplaza en una clase derivada, devuelve una matriz de atributos personalizados aplicados a este miembro y identificados por Type.

(Heredado de MemberInfo)
GetCustomAttributesData()

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

(Heredado de MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

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

GetFieldFromHandle(RuntimeFieldHandle)

Obtiene un FieldInfo para el campo representado por el identificador especificado.

GetHashCode()

Devuelve el código hash de esta instancia.

GetOptionalCustomModifiers()

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

GetRawConstantValue()

Devuelve un valor literal asociado al campo por 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 los metadatos de campo.

GetValue(Object)

Cuando se reemplaza en una clase derivada, devuelve el valor de un campo admitido por un objeto determinado.

GetValueDirect(TypedReference)

Devuelve el valor de un campo admitido por un objeto determinado.

HasSameMetadataDefinitionAs(MemberInfo)

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

(Heredado de MemberInfo)
IsDefined(Type, Boolean)

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

(Heredado de MemberInfo)
MemberwiseClone()

Crea una copia superficial del Objectactual.

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

Cuando se reemplaza en una clase derivada, establece el valor del campo admitido por el objeto especificado.

SetValue(Object, Object)

Establece el valor del campo admitido por el objeto especificado.

SetValueDirect(TypedReference, Object)

Establece el valor del campo admitido por el objeto especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Nombre Description
Equality(FieldInfo, FieldInfo)

Indica si dos FieldInfo objetos son iguales.

Inequality(FieldInfo, FieldInfo)

Indica si dos FieldInfo objetos no son iguales.

Implementaciones de interfaz explícitas

Nombre Description
_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 Type objeto que representa el FieldInfo tipo.

_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 propiedades y 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()

Obtiene un Type objeto que representa la MemberInfo clase .

(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 propiedades y métodos expuestos por un objeto .

(Heredado de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Devuelve una matriz de todos los atributos personalizados definidos en este miembro, excepto 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, identificado por tipo o una matriz vacía si no hay atributos personalizados de ese tipo.

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

Indica si se define una o varias instancias de attributeType en este miembro.

(Heredado de MemberInfo)

Métodos de extensión

Nombre Description
GetCustomAttribute(MemberInfo, Type, Boolean)

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

GetCustomAttribute(MemberInfo, Type)

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

GetCustomAttribute<T>(MemberInfo, Boolean)

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

GetCustomAttribute<T>(MemberInfo)

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

GetCustomAttributes(MemberInfo, Boolean)

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

GetCustomAttributes(MemberInfo, Type, Boolean)

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

GetCustomAttributes(MemberInfo, Type)

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

GetCustomAttributes(MemberInfo)

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

GetCustomAttributes<T>(MemberInfo, Boolean)

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

GetCustomAttributes<T>(MemberInfo)

Recupera una colección de atributos personalizados de un tipo especificado que se aplica 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.

IsDefined(MemberInfo, Type)

Indica si los atributos personalizados de un tipo especificado se aplican a un miembro especificado.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para subprocesos.

Consulte también