FieldInfo Class
Discovers the attributes of a field and provides access to field metadata.
System.Reflection.MemberInfo
System.Reflection.FieldInfo
System.Reflection.Emit.FieldBuilder
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
The FieldInfo type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | Attributes | Gets the attributes that are associated with this field. |
![]() ![]() ![]() | DeclaringType | Gets the class that declares this member. (Inherited from MemberInfo.) |
![]() ![]() ![]() | FieldHandle | Gets a handle to the internal metadata representation of a field. |
![]() ![]() ![]() | FieldType | Gets the type of this field object. |
![]() ![]() ![]() | IsAssembly | Gets a value that indicates 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 that indicates 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 that indicates 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 that indicates 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 that indicates whether the field can be set only in the body of the constructor. |
![]() ![]() ![]() | IsLiteral | Gets a value that indicates whether the value is written at compile time and cannot be changed. |
![]() ![]() ![]() | IsNotSerialized | Gets a value that indicates whether this field has the NotSerialized attribute. |
![]() ![]() ![]() | IsPinvokeImpl | Gets a value that indicates whether the corresponding PinvokeImpl attribute is set in FieldAttributes. |
![]() ![]() ![]() | IsPrivate | Gets a value that indicates whether the field is private. |
![]() ![]() ![]() | IsPublic | Gets a value that indicates whether the field is public. |
![]() ![]() ![]() | IsSpecialName | Gets a value that indicates whether the field has a name that has special significance. |
![]() ![]() ![]() | IsStatic | Gets a value that indicates whether the field is static (Shared in Visual Basic). |
![]() ![]() ![]() | MemberType | Gets a value that indicates 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) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() ![]() ![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object 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.) |
![]() ![]() ![]() ![]() | 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 | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() ![]() ![]() | GetRawConstantValue | Returns a literal value associated with the field by a compiler. |
![]() ![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() ![]() | GetValue | When overridden in a derived class, returns the value of a field supported by a given object. |
![]() ![]() ![]() | IsDefined | 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 | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() ![]() | SetValue(Object, Object) | Sets the value of the field that is supported by the given object. |
![]() ![]() ![]() | SetValue(Object, Object, BindingFlags, Binder, CultureInfo) | When overridden in a derived class, sets the value of the field with the specified constraints on type conversion. |
![]() ![]() ![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
The FieldInfo class does not have a public constructor. FieldInfo objects are obtained by calling either Type.GetFields or Type.GetField.
Fields are variables that are defined in the class. FieldInfo provides access to the metadata for a field in a class and also enables late-bound access to the value of a field. In Silverlight, you can get the metadata of any field, regardless of its access level, but you cannot use FieldInfo to bypass access-level protection when you get or set the value of a field.
The following example uses the Type.GetFields method to get the fields of the Example class, and then displays information about the fields.
Note: |
|---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
Imports System.Reflection Public Class Example Public myField1 As Integer = 0 Protected myField2 As String = Nothing Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim myFieldInfo() As FieldInfo Dim myType As Type = GetType(Example) ' Get the type and fields of Example. myFieldInfo = myType.GetFields(BindingFlags.NonPublic Or _ BindingFlags.Instance Or BindingFlags.Public) outputBlock.Text &= ControlChars.NewLine & "The fields of " & _ "Example class are " & ControlChars.NewLine & vbCrLf ' Display the field information of Example. Dim i As Integer For i = 0 To myFieldInfo.Length - 1 outputBlock.Text &= String.Format(ControlChars.NewLine + "Name : {0}", myFieldInfo(i).Name) & vbCrLf outputBlock.Text &= String.Format("Declaring Type : {0}", myFieldInfo(i).DeclaringType) & vbCrLf outputBlock.Text &= String.Format("IsPublic : {0}", myFieldInfo(i).IsPublic) & vbCrLf outputBlock.Text &= String.Format("MemberType : {0}", myFieldInfo(i).MemberType) & vbCrLf outputBlock.Text &= String.Format("FieldType : {0}", myFieldInfo(i).FieldType) & vbCrLf outputBlock.Text &= String.Format("IsFamily : {0}", myFieldInfo(i).IsFamily) & vbCrLf Next i End Sub End Class
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.






Note: