FieldInfo Klasse

Definition

Ermittelt die Attribute eines Felds und ermöglicht den Zugriff auf die Metadaten des Felds.Discovers the attributes of a field and provides access to field metadata.

public ref class FieldInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_FieldInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
type FieldInfo = class
    inherit MemberInfo
    interface _FieldInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Implements _FieldInfo
Vererbung
FieldInfo
Abgeleitet
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird die Type.GetFields -Methode verwendet, um die Feld bezogenen Informationen aus FieldInfo der-Klasse zu erhalten, und dann werden die Feld Attribute angezeigt.The following example uses the Type.GetFields method to get the field-related information from the FieldInfo class, and then displays field attributes.

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

Hinweise

Die Feldinformationen werden aus den Metadaten abgerufen.The field information is obtained from metadata. Die FieldInfo Klasse verfügt über keinen öffentlichen Konstruktor.The FieldInfo class does not have a public constructor. FieldInfo-Objekte werden durch Aufrufen der GetFields -oder GetField -Methode eines Type -Objekts abgerufen.FieldInfo objects are obtained by calling either the GetFields or GetField method of a Type object.

Felder sind in der-Klasse definierte Variablen.Fields are variables defined in the class. FieldInfobietet Zugriff auf die Metadaten für ein Feld in einer Klasse und stellt dynamische Set-und Get-Funktionen für das Feld bereit.FieldInfo provides access to the metadata for a field within a class and provides dynamic set and get functionality for the field. Die Klasse wird erst dann in den Arbeitsspeicher geladen, wenn aufrufen oder Get für das Objekt aufgerufen wird.The class is not loaded into memory until invoke or get is called on the object.

Hinweise für Vererber

Wenn Sie von FieldInfo erben, müssen die folgenden Member überschrieben werden: GetValue(Object) und SetValue(Object, Object, BindingFlags, Binder, CultureInfo).When you inherit from FieldInfo, you must override the following members: GetValue(Object) and SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Konstruktoren

FieldInfo()

Initialisiert eine neue Instanz der FieldInfo-Klasse.Initializes a new instance of the FieldInfo class.

Eigenschaften

Attributes

Ruft die Attribute ab, die diesem Feld zugeordnet sind.Gets the attributes associated with this field.

CustomAttributes

Ruft eine Sammlung ab, die die benutzerdefinierten Attribute dieses Members enthält.Gets a collection that contains this member's custom attributes.

(Geerbt von MemberInfo)
DeclaringType

Ruft die Klasse ab, die diesen Member deklariert.Gets the class that declares this member.

(Geerbt von MemberInfo)
FieldHandle

Ruft ein RuntimeFieldHandle ab, das das Handle für die interne Metadatendarstellung eines Felds darstellt.Gets a RuntimeFieldHandle, which is a handle to the internal metadata representation of a field.

FieldType

Ruft den Typ dieses Feldobjekts ab.Gets the type of this field object.

IsAssembly

Ruft einen Wert ab, der angibt, ob die potenzielle Sichtbarkeit dieses Felds von Assembly beschrieben wird, d h. ob das Feld höchstens für andere Typen in derselben Assembly und nicht für abgeleitete Typen außerhalb der Assembly sichtbar ist.Gets a value indicating whether the potential visibility of this field is described by Assembly; that is, the field is visible at most to other types in the same assembly, and is not visible to derived types outside the assembly.

IsCollectible

Ruft einen Wert ab, der angibt, ob dieses AssemblyLoadContext-Objekt Teil einer Assembly ist, die sich in einem entladbaren MemberInfo befindet.Gets a value that indicates whether this MemberInfo object is part of an assembly held in a collectible AssemblyLoadContext.

(Geerbt von MemberInfo)
IsFamily

Ruft einen Wert ab, der angibt, ob die Sichtbarkeit dieses Felds von Family beschrieben wird, d. h., das Feld ist nur innerhalb seiner Klasse und in den abgeleiteten Klassen sichtbar.Gets a value indicating whether the visibility of this field is described by Family; that is, the field is visible only within its class and derived classes.

IsFamilyAndAssembly

Ruft einen Wert ab, der angibt, ob die Sichtbarkeit dieses Felds von FamANDAssem beschrieben wird, d. h., auf das Feld kann von abgeleiteten Klassen zugegriffen werden, jedoch nur, wenn sich diese in derselben Assembly befinden.Gets a value indicating whether the visibility of this field is described by FamANDAssem; that is, the field can be accessed from derived classes, but only if they are in the same assembly.

IsFamilyOrAssembly

Ruft einen Wert ab, der angibt, ob die potenzielle Sichtbarkeit dieses Felds von FamORAssem beschrieben wird, d. h., auf das Feld kann von Klassen in derselben Assembly und von abgeleiteten Klassen zugegriffen werden, wobei deren Position keine Rolle spielt.Gets a value indicating whether the potential visibility of this field is described by FamORAssem; that is, the field can be accessed by derived classes wherever they are, and by classes in the same assembly.

IsInitOnly

Ruft einen Wert ab, der angibt, ob das Feld nur im Rumpf des Konstruktors festgelegt werden kann.Gets a value indicating whether the field can only be set in the body of the constructor.

IsLiteral

Ruft einen Wert ab, der angibt, ob der Wert während der Kompilierung geschrieben wird und nicht geändert werden kann.Gets a value indicating whether the value is written at compile time and cannot be changed.

IsNotSerialized

Ruft einen Wert ab, der angibt, ob dieses Feld über das NotSerialized-Attribut verfügt.Gets a value indicating whether this field has the NotSerialized attribute.

IsPinvokeImpl

Ruft einen Wert ab, der angibt, ob das entsprechende PinvokeImpl-Attribut in FieldAttributes festgelegt wurde.Gets a value indicating whether the corresponding PinvokeImpl attribute is set in FieldAttributes.

IsPrivate

Ruft einen Wert ab, der angibt, ob das Feld privat ist.Gets a value indicating whether the field is private.

IsPublic

Ruft einen Wert ab, der angibt, ob das Feld öffentlich ist.Gets a value indicating whether the field is public.

IsSecurityCritical

Ruft einen Wert ab, der angibt, ob das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitsrelevant oder sicherheitsrelevant und sicher zugänglich ist.Gets a value that indicates whether the current field is security-critical or security-safe-critical at the current trust level.

IsSecuritySafeCritical

Ruft einen Wert ab, der angibt, ob das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitsrelevant und sicher zugänglich ist.Gets a value that indicates whether the current field is security-safe-critical at the current trust level.

IsSecurityTransparent

Ruft einen Wert ab, der angibt, ob das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitstransparent ist.Gets a value that indicates whether the current field is transparent at the current trust level.

IsSpecialName

Ruft einen Wert ab, der angibt, ob das entsprechende SpecialName-Attribut für den FieldAttributes-Enumerator festgelegt wurde.Gets a value indicating whether the corresponding SpecialName attribute is set in the FieldAttributes enumerator.

IsStatic

Ruft einen Wert ab, der angibt, ob das Feld statisch ist.Gets a value indicating whether the field is static.

MemberType

Ruft einen MemberTypes-Wert ab, der angibt, dass dieser Member ein Feld ist.Gets a MemberTypes value indicating that this member is a field.

MetadataToken

Ruft einen Wert ab, der ein Metadatenelement identifiziert.Gets a value that identifies a metadata element.

(Geerbt von MemberInfo)
Module

Ruft das Modul ab, in dem der Typ definiert ist, der den von der aktuellen MemberInfo-Klasse dargestellten Member deklariert.Gets the module in which the type that declares the member represented by the current MemberInfo is defined.

(Geerbt von MemberInfo)
Name

Ruft den Namen des aktuellen Members ab.Gets the name of the current member.

(Geerbt von MemberInfo)
ReflectedType

Ruft das Klassenobjekt ab, mit dem diese Instanz von MemberInfo abgerufen wurde.Gets the class object that was used to obtain this instance of MemberInfo.

(Geerbt von MemberInfo)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

GetCustomAttributes(Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array mit allen benutzerdefinierten Attributen zurück, die auf diesen Member angewendet wurden.When overridden in a derived class, returns an array of all custom attributes applied to this member.

(Geerbt von MemberInfo)
GetCustomAttributes(Type, Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array aus benutzerdefinierten Attributen zurück, die auf diesen Member angewendet und von Type identifiziert wurden.When overridden in a derived class, returns an array of custom attributes applied to this member and identified by Type.

(Geerbt von MemberInfo)
GetCustomAttributesData()

Gibt eine Liste von CustomAttributeData-Objekten zurück, die Daten zu den Attributen darstellen, die auf den Zielmember angewendet wurden.Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.

(Geerbt von MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

Ruft eine FieldInfo für das durch das angegebene Handle dargestellte Feld ab.Gets a FieldInfo for the field represented by the specified handle.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Ruft eine FieldInfo für das durch das angegebene Handle dargestellte Feld für den angegebenen generischen Typ ab.Gets a FieldInfo for the field represented by the specified handle, for the specified generic type.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

GetOptionalCustomModifiers()

Ruft ein Array von Typen ab, die die optionalen benutzerdefinierten Modifizierer des Felds kennzeichnen.Gets an array of types that identify the optional custom modifiers of the field.

GetRawConstantValue()

Gibt einen literalen Wert zurück, der dem Feld von einem Compiler zugeordnet wurde.Returns a literal value associated with the field by a compiler.

GetRequiredCustomModifiers()

Ruft ein Array von Typen ab, die die erforderlichen benutzerdefinierten Modifizierer der Eigenschaft kennzeichnen.Gets an array of types that identify the required custom modifiers of the property.

GetType()
GetValue(Object)

Gibt den Wert eines Felds zurück, das durch ein angegebenes Objekt unterstützt wird, wenn es in einer abgeleiteten Klasse überschrieben wird.When overridden in a derived class, returns the value of a field supported by a given object.

GetValueDirect(TypedReference)

Gibt den Wert eines Felds zurück, das von einem angegebenen Objekt unterstützt wird.Returns the value of a field supported by a given object.

HasSameMetadataDefinitionAs(MemberInfo) (Geerbt von MemberInfo)
IsDefined(Type, Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob ein oder mehrere Attribute des angegebenen Typs oder seiner abgeleiteten Typen auf diesen Member angewendet werden.When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member.

(Geerbt von MemberInfo)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
SetValue(Object, Object)

Legt den Wert des Felds fest, das durch das angegebene Objekt unterstützt wird.Sets the value of the field supported by the given object.

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

Legt den Wert eines Felds fest, das durch ein angegebenes Objekt unterstützt wird, wenn es in einer abgeleiteten Klasse überschrieben wird.When overridden in a derived class, sets the value of the field supported by the given object.

SetValueDirect(TypedReference, Object)

Legt den Wert des Felds fest, das durch das angegebene Objekt unterstützt wird.Sets the value of the field supported by the given object.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Operatoren

Equality(FieldInfo, FieldInfo)

Gibt an, ob zwei FieldInfo-Objekte gleich sind.Indicates whether two FieldInfo objects are equal.

Inequality(FieldInfo, FieldInfo)

Gibt an, ob zwei FieldInfo-Objekte ungleich sind.Indicates whether two FieldInfo objects are not equal.

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

_FieldInfo.GetType()

Ruft ein Type-Objekt ab, das den FieldInfo-Typ darstellt.Gets a Type object representing the FieldInfo type.

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_FieldInfo.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von MemberInfo)
_MemberInfo.GetType()

Ruft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt.Gets a Type object representing the MemberInfo class.

(Geerbt von MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.Retrieves the type information for an object, which can then be used to get the type information for an interface.

(Geerbt von MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean) (Geerbt von MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) (Geerbt von MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean) (Geerbt von MemberInfo)

Erweiterungsmethoden

GetCustomAttribute(MemberInfo, Type)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird.Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute(MemberInfo, Type, Boolean)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members.Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttribute<T>(MemberInfo)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird.Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute<T>(MemberInfo, Boolean)

Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members.Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo)

Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden.Retrieves a collection of custom attributes that are applied to a specified member.

GetCustomAttributes(MemberInfo, Boolean)

Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.Retrieves a collection of custom attributes that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo, Type)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden.Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes(MemberInfo, Type, Boolean)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes<T>(MemberInfo)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden.Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes<T>(MemberInfo, Boolean)

Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members.Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

IsDefined(MemberInfo, Type)

Gibt an, ob irgend welche benutzerdefinierten Attribute eines bestimmten Typs auf eines angegebenen Members angewendet werden.Indicates whether custom attributes of a specified type are applied to a specified member.

IsDefined(MemberInfo, Type, Boolean)

Gibt an, ob benutzerdefinierte Attribute eines angegebenen Typs auf einen angegebenen Member und optional auf dessen Vorgänger angewendet werden.Indicates whether custom attributes of a specified type are applied to a specified member, and, optionally, applied to its ancestors.

GetMetadataToken(MemberInfo)

Ruft ein Metadatentoken für das angegebene Element ab, falls verfügbar.Gets a metadata token for the given member, if available.

HasMetadataToken(MemberInfo)

Gibt einen Wert zurück, der angibt, ob ein Metadatentoken für das angegebene Element verfügbar ist.Returns a value that indicates whether a metadata token is available for the specified member.

Sicherheit

InheritanceDemand
für vollständige Vertrauenswürdigkeit für Vererber.for full trust for inheritors. Diese Klasse kann von teilweise vertrauenswürdigem Code nicht geerbt werden.This class cannot be inherited by partially trusted code.

Gilt für:

Threadsicherheit

Dieser Typ ist threadsicher.This type is thread safe.

Siehe auch