FieldInfo.FieldHandle Propiedad

Definición

Obtiene una estructura RuntimeFieldHandle, que es un identificador para la representación interna de los metadatos de un campo.

C#
public abstract RuntimeFieldHandle FieldHandle { get; }

Valor de propiedad

Identificador para la representación interna de metadatos de un campo.

Implementaciones

Ejemplos

En el ejemplo siguiente se recupera la información del campo MyClass.MyField y se muestra el campo asociado al identificador de campo.

C#
using System;
using System.Reflection;

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

public class FieldInfo_FieldHandle
{
    public static void Main()
    {

        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(myFieldHandle);
            }
            else
            {
                Console.WriteLine("The myFieldInfo object is null.");
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception: {0}", e.Message);
        }
    }

    public static void DisplayFieldHandle(RuntimeFieldHandle myFieldHandle)
    {
        // Get the type from the handle.
        FieldInfo myField = FieldInfo.GetFieldFromHandle(myFieldHandle);

        // Display the type.
        Console.WriteLine("\nDisplaying the field from the handle.\n");
        Console.WriteLine("The type is {0}.", myField.ToString());
    }
}

Comentarios

Los identificadores solo son válidos en el appdomain en el que se obtuvieron.

Se aplica a

Produto Versións
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1