FieldInfo Class
Discovers the attributes of a field and provides access to field metadata.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | FieldInfo() | Initializes a new instance of the FieldInfo class. |
| Name | Description | |
|---|---|---|
![]() | Attributes | Gets the attributes associated with this field. |
![]() | CustomAttributes | Gets a collection that contains this member's custom attributes.(Inherited from MemberInfo.) |
![]() | DeclaringType | Gets the class that declares this member.(Inherited from MemberInfo.) |
![]() | FieldHandle | Gets a RuntimeFieldHandle, which is a handle to the internal metadata representation of a field. |
![]() | FieldType | Gets the type of this field object. |
![]() | IsAssembly | Gets a value indicating whether the potential visibility of this field is described by FieldAttributes::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. |
![]() | IsFamily | Gets a value indicating whether the visibility of this field is described by FieldAttributes::Family; that is, the field is visible only within its class and derived classes. |
![]() | IsFamilyAndAssembly | Gets a value indicating whether the visibility of this field is described by FieldAttributes::FamANDAssem; that is, the field can be accessed from derived classes, but only if they are in the same assembly. |
![]() | IsFamilyOrAssembly | Gets a value indicating whether the potential visibility of this field is described by FieldAttributes::FamORAssem; that is, the field can be accessed by derived classes wherever they are, and by classes in the same assembly. |
![]() | IsInitOnly | Gets a value indicating whether the field can only be set in the body of the constructor. |
![]() | IsLiteral | Gets a value indicating whether the value is written at compile time and cannot be changed. |
![]() | IsNotSerialized | Gets a value indicating whether this field has the NotSerialized attribute. |
![]() | IsPinvokeImpl | Gets a value indicating whether the corresponding PinvokeImpl attribute is set in FieldAttributes. |
![]() | IsPrivate | Gets a value indicating whether the field is private. |
![]() | IsPublic | Gets a value indicating whether the field is public. |
![]() | IsSecurityCritical | Gets a value that indicates whether the current field is security-critical or security-safe-critical at the current trust level. |
![]() | IsSecuritySafeCritical | Gets a value that indicates whether the current field is security-safe-critical at the current trust level. |
![]() | IsSecurityTransparent | Gets a value that indicates whether the current field is transparent at the current trust level. |
![]() | IsSpecialName | Gets a value indicating whether the corresponding SpecialName attribute is set in the FieldAttributes enumerator. |
![]() | IsStatic | Gets a value indicating whether the field is static. |
![]() | MemberType | Gets a MemberTypes value indicating that this member is a field.(Overrides MemberInfo::MemberType.) |
![]() | MetadataToken | Gets a value that identifies a metadata element.(Inherited from MemberInfo.) |
![]() | Module | Gets the module in which the type that declares the member represented by the current MemberInfo is defined.(Inherited from MemberInfo.) |
![]() | Name | Gets the name of the current member.(Inherited from MemberInfo.) |
![]() | ReflectedType | Gets the class object that was used to obtain this instance of MemberInfo.(Inherited from MemberInfo.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Returns a value that indicates whether this instance is equal to a specified object.(Overrides MemberInfo::Equals(Object^).) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetCustomAttributes(Boolean) | When overridden in a derived class, returns an array of all custom attributes applied to this member. (Inherited from MemberInfo.) |
![]() | GetCustomAttributes(Type^, Boolean) | When overridden in a derived class, returns an array of custom attributes applied to this member and identified by Type.(Inherited from MemberInfo.) |
![]() | GetCustomAttributesData() | Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.(Inherited from MemberInfo.) |
![]() ![]() | GetFieldFromHandle(RuntimeFieldHandle) | Gets a FieldInfo for the field represented by the specified handle. |
![]() ![]() | GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle) | Gets a FieldInfo for the field represented by the specified handle, for the specified generic type. |
![]() | GetHashCode() | Returns the hash code for this instance.(Overrides MemberInfo::GetHashCode().) |
![]() | GetOptionalCustomModifiers() | Gets an array of types that identify the optional custom modifiers of the field. |
![]() | GetRawConstantValue() | Returns a literal value associated with the field by a compiler. |
![]() | GetRequiredCustomModifiers() | Gets an array of types that identify the required custom modifiers of the property. |
![]() | GetType() | |
![]() | GetValue(Object^) | When overridden in a derived class, returns the value of a field supported by a given object. |
![]() | GetValueDirect(TypedReference) | Returns the value of a field supported by a given object. |
![]() | IsDefined(Type^, Boolean) | 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.(Inherited from MemberInfo.) |
![]() | MemberwiseClone() | |
![]() | SetValue(Object^, Object^) | Sets the value of the field supported by the given object. |
![]() | SetValue(Object^, Object^, BindingFlags, Binder^, CultureInfo^) | When overridden in a derived class, sets the value of the field supported by the given object. |
![]() | SetValueDirect(TypedReference, Object^) | Sets the value of the field supported by the given object. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | Equality(FieldInfo^, FieldInfo^) | Indicates whether two FieldInfo objects are equal. |
![]() ![]() | Inequality(FieldInfo^, FieldInfo^) | Indicates whether two FieldInfo objects are not equal. |
| Name | Description | |
|---|---|---|
![]() ![]() | _FieldInfo::GetIDsOfNames(Guid%, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers. |
![]() ![]() | _FieldInfo::GetType() | Gets a Type object representing the FieldInfo type. |
![]() ![]() | _FieldInfo::GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can then be used to get the type information for an interface. |
![]() ![]() | _FieldInfo::GetTypeInfoCount(UInt32%) | 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) | Provides access to properties and methods exposed by an object. |
![]() ![]() | _MemberInfo::GetIDsOfNames(Guid%, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::GetType() | Gets a Type object representing the MemberInfo class.(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can then be used to get the type information for an interface.(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::GetTypeInfoCount(UInt32%) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::Invoke(UInt32, Guid%, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from MemberInfo.) |
| Name | Description | |
|---|---|---|
![]() | GetCustomAttribute(Type^) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute(Type^, Boolean) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute<T>() | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute<T>(Boolean) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes() | Overloaded. Retrieves a collection of custom attributes that are applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes(Type^) | Overloaded. Retrieves a collection of custom attributes of a specified type that are applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes<T>(Boolean) | Overloaded. 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.(Defined by CustomAttributeExtensions.) |
![]() | IsDefined(Type^) | Overloaded. Indicates whether custom attributes of a specified type are applied to a specified member.(Defined by CustomAttributeExtensions.) |
The field information is obtained from metadata. The FieldInfo class does not have a public constructor. FieldInfo objects are obtained by calling either the GetFields or GetField method of a Type object.
Fields are variables defined in the class. FieldInfo provides access to the metadata for a field within a class and provides dynamic set and get functionality for the field. The class is not loaded into memory until invoke or get is called on the object.
Notes to Inheritors:
When you inherit from FieldInfo, you must override the following members: GetValue and SetValue.
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 ); } }
for full trust for inheritors. This class cannot be inherited by partially trusted code.
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
This type is thread safe.






