FieldInfo Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
- 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 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 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 |
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 |
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 |
Obsoletos.
Obtiene un valor que indica si este campo dispone del atributo |
IsPinvokeImpl |
Obtiene un valor que indica si el atributo |
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 |
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 |
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) |
GetModifiedFieldType() |
Obtiene el tipo modificado de este objeto de campo. |
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) |
Detecta los atributos de un campo y proporciona acceso a sus metadatos. (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() | |
_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 |
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.