Share via


FieldInfo.FieldHandle Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets a handle to the internal metadata representation of a field.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public MustOverride ReadOnly Property FieldHandle As RuntimeFieldHandle
public abstract RuntimeFieldHandle FieldHandle { get; }

Property Value

Type: System.RuntimeFieldHandle
A handle to the internal metadata representation of a field.

Exceptions

Exception Condition
MethodAccessException

This member is invoked late-bound through mechanisms such as Type.InvokeMember.

Remarks

The handles are valid only in the application ___domain in which they were obtained.

Examples

The following example retrieves field information for MyField, in MyClass, and displays the field associated with the field handle.

Imports System.Reflection

Public Class [MyClass]
   Public MyField As String = "Microsoft"
End Class '[MyClass]

Public Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim [myClass] As New [MyClass]()
      ' Get the type of MyClass.
      Dim myType As Type = GetType([MyClass])
      Try
         ' Get the field information of MyField.
         Dim myFieldInfo As FieldInfo = myType.GetField("MyField", BindingFlags.Public Or BindingFlags.Instance)

         ' Determine whether or not the FieldInfo object is null.
         If Not (myFieldInfo Is Nothing) Then
            ' Get the handle for the field.
            Dim myFieldHandle As RuntimeFieldHandle = myFieldInfo.FieldHandle

            DisplayFieldHandle(outputBlock, myFieldHandle)
         Else
            outputBlock.Text &= "The myFieldInfo object is null." & vbCrLf
         End If
      Catch e As Exception
         outputBlock.Text += String.Format(" Exception: {0}", e.Message.ToString()) & vbCrLf
      End Try
   End Sub 'Main

   Public Shared Sub DisplayFieldHandle(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myFieldHandle As RuntimeFieldHandle)
      ' Get the type from the handle.
      Dim myField As FieldInfo = FieldInfo.GetFieldFromHandle(myFieldHandle)
      ' Display the type.
      outputBlock.Text &= ControlChars.Cr + "Displaying the field from the handle." + ControlChars.Cr & vbCrLf
      outputBlock.Text += String.Format("The type is {0}.", myField.ToString()) & vbCrLf
   End Sub 'DisplayFieldHandle
End Class 'FieldInfo_FieldHandle
using System;
using System.Reflection;

public class MyClass
{
   public string MyField = "Microsoft";
}

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      MyClass myClass = new MyClass();

      // Get the type of MyClass.
      Type myType = typeof(MyClass);

      try
      {
         // Get the field information of MyField.
         FieldInfo myFieldInfo = myType.GetField("MyField", BindingFlags.Public
             | BindingFlags.Instance);

         // Determine whether or not the FieldInfo object is null.
         if (myFieldInfo != null)
         {
            // Get the handle for the field.
            RuntimeFieldHandle myFieldHandle = myFieldInfo.FieldHandle;

            DisplayFieldHandle(outputBlock, myFieldHandle);
         }
         else
         {
            outputBlock.Text += "The myFieldInfo object is null." + "\n";
         }
      }
      catch (Exception e)
      {
         outputBlock.Text += String.Format("Exception: {0}", e.Message) + "\n";
      }
   }

   public static void DisplayFieldHandle(System.Windows.Controls.TextBlock outputBlock, RuntimeFieldHandle myFieldHandle)
   {
      // Get the type from the handle.
      FieldInfo myField = FieldInfo.GetFieldFromHandle(myFieldHandle);

      // Display the type.
      outputBlock.Text += "\nDisplaying the field from the handle.\n" + "\n";
      outputBlock.Text += String.Format("The type is {0}.", myField.ToString()) + "\n";
   }
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.