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 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); } } }
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.






