Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Type.GetField (String)

 

Publicado: octubre de 2016

Busca el campo público con el nombre especificado.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public FieldInfo GetField(
	string name
)

Parámetros

name
Type: System.String

Cadena que contiene el nombre del campo de datos que se va a obtener.

Valor devuelto

Type: System.Reflection.FieldInfo

Objeto que representa el campo público con el nombre especificado, si se encuentra; en caso contrario, null.

Exception Condition
ArgumentNullException

El valor de name es null.

NotSupportedException

Este objeto Type es un TypeBuilder a cuyo método CreateType aún no se ha llamado.

La búsqueda de name distingue mayúsculas de minúsculas. La búsqueda incluye campos de instancia públicos static y public.

Si la actual Type representa un tipo genérico construido, este método devuelve el FieldInfo con los parámetros de tipo sustituidos por los argumentos de tipo adecuado.

Si la actual Type representa un parámetro de tipo en la definición de un tipo genérico o de método genérico, este método busca los campos de la restricción de clase.

En el ejemplo siguiente se obtiene la Type de objeto para la clase especificada, se obtiene la FieldInfo objeto para el campo y muestra el valor del campo.


using System;
using System.Reflection;

public class MyFieldClassA
{
    public string Field = "A Field";
}

public class MyFieldClassB
{
    private string field = "B Field";
    public string Field 
    {
        get
        {
            return field;
        }
        set
        {
            if (field!=value)
            {
                field=value;
            }
        }
    }
}

public class MyFieldInfoClass
{
    public static void Main()
    {
        MyFieldClassB myFieldObjectB = new MyFieldClassB();
        MyFieldClassA myFieldObjectA = new MyFieldClassA();

        Type myTypeA = typeof(MyFieldClassA);
        FieldInfo myFieldInfo = myTypeA.GetField("Field");

        Type myTypeB = typeof(MyFieldClassB);
        FieldInfo myFieldInfo1 = myTypeB.GetField("field", 
            BindingFlags.NonPublic | BindingFlags.Instance);

        Console.WriteLine("The value of the public field is: '{0}'", 
            myFieldInfo.GetValue(myFieldObjectA));
        Console.WriteLine("The value of the private field is: '{0}'", 
            myFieldInfo1.GetValue(myFieldObjectB));
    }
}

.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: