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.
Note: |
---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
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.