Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

MissingFieldException (Clase)

Excepción que se produce cuando se intenta tener acceso dinámicamente a un campo que no existe.

System.Object
  System.Exception
    System.SystemException
      System.MemberAccessException
        System.MissingMemberException
          System.MissingFieldException

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class MissingFieldException : MissingMemberException, 
	ISerializable

El tipo MissingFieldException expone los siguientes miembros.

  NombreDescripción
Método públicoMissingFieldException()Inicializa una nueva instancia de la clase MissingFieldException.
Método públicoMissingFieldException(String)Inicializa una nueva instancia de la clase MissingFieldException con el mensaje de error especificado.
Método protegidoMissingFieldException(SerializationInfo, StreamingContext)Inicializa una nueva instancia de la clase MissingFieldException con datos serializados.
Método públicoMissingFieldException(String, Exception)Inicializa una nueva instancia de la clase MissingFieldException con un mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción.
Método públicoMissingFieldException(String, String)Inicializa una nueva instancia de la clase MissingFieldException con el nombre de la clase y el nombre del campo que se hayan especificado.
Arriba

  NombreDescripción
Propiedad públicaDataObtiene una colección de pares clave-valor que proporcionan información adicional definida por el usuario acerca de la excepción. (Se hereda de Exception).
Propiedad públicaHelpLinkObtiene o establece un vínculo al archivo de ayuda asociado a esta excepción. (Se hereda de Exception).
Propiedad públicaHResultObtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica. (Se hereda de Exception).
Propiedad públicaInnerExceptionObtiene la instancia Exception que produjo la excepción actual. (Se hereda de Exception).
Propiedad públicaMessageObtiene la cadena de texto que muestra la firma del campo que no se encuentra, el nombre de la clase y el nombre del campo. Esta propiedad es de solo lectura. (Invalida a MissingMemberException.Message).
Propiedad públicaSourceDevuelve o establece el nombre de la aplicación o del objeto que generó el error. (Se hereda de Exception).
Propiedad públicaStackTraceObtiene una representación de cadena de los marcos inmediatos en la pila de llamadas. (Se hereda de Exception).
Propiedad públicaTargetSiteObtiene el método que produjo la excepción actual. (Se hereda de Exception).
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetBaseExceptionCuando se reemplaza en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores. (Se hereda de Exception).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetObjectDataEstablece el objeto SerializationInfo con el nombre de la clase, el nombre del miembro, la firma del miembro que falta e información adicional de la excepción. (Se hereda de MissingMemberException).
Método públicoGetTypeObtiene el tipo en tiempo de ejecución de la instancia actual. (Se hereda de Exception).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoToStringCrea y devuelve una representación de cadena de la excepción actual. (Se hereda de Exception).
Arriba

  NombreDescripción
Evento protegidoSerializeObjectStateSe produce cuando se serializa una excepción para crear un objeto de estados de excepción que contiene datos serializados sobre la excepción. (Se hereda de Exception).
Arriba

  NombreDescripción
Campo protegidoClassNameContiene el nombre de clase del miembro que falta. (Se hereda de MissingMemberException).
Campo protegidoMemberNameContiene el nombre del miembro que falta. (Se hereda de MissingMemberException).
Campo protegidoSignatureContiene la firma del miembro que falta. (Se hereda de MissingMemberException).
Arriba

Normalmente se genera un error de compilación si el código intenta tener acceso a un miembro inexistente de una clase. Se designa una excepción MissingFieldException para controlar los casos en los que se intenta obtener acceso de forma dinámica a un campo al que se le ha cambiado el nombre o que se ha eliminado de un ensamblado al que no se hace referencia mediante su nombre seguro. Se produce MissingFieldException cuando el código de un ensamblado dependiente intenta obtener acceso a un campo que no se encuentra en un ensamblado modificado.

MissingFieldException utiliza HRESULT COR_E_MISSINGFIELD, que tiene el valor 0x80131511.

Para obtener una lista con los valores de propiedad iniciales de una instancia de MissingFieldException, vea los constructores MissingFieldException.

En este ejemplo se muestra lo que ocurre cuando se intenta utilizar la reflexión para llamar a un método inexistente u obtener acceso a un campo inexistente. La aplicación se recupera detectando MissingMethodException, MissingFieldException y MissingMemberException.


using System;
using System.Reflection;

public class App
{
    public static void Main()
    {

        try
        {
            // Attempt to call a static DoSomething method defined in the App class.
            // However, because the App class does not define this method,
            // a MissingMethodException is thrown.
            typeof(App).InvokeMember("DoSomething", BindingFlags.Static |
                BindingFlags.InvokeMethod, null, null, null);
        }
        catch (MissingMethodException e)
        {
            // Show the user that the DoSomething method cannot be called.
            Console.WriteLine("Unable to call the DoSomething method: {0}", e.Message);
        }

        try
        {
            // Attempt to access a static AField field defined in the App class.
            // However, because the App class does not define this field,
            // a MissingFieldException is thrown.
            typeof(App).InvokeMember("AField", BindingFlags.Static | BindingFlags.SetField,
                null, null, new Object[] { 5 });
        }
        catch (MissingFieldException e)
        {
         // Show the user that the AField field cannot be accessed.
         Console.WriteLine("Unable to access the AField field: {0}", e.Message);
        }

        try
        {
            // Attempt to access a static AnotherField field defined in the App class.
            // However, because the App class does not define this field,
            // a MissingFieldException is thrown.
            typeof(App).InvokeMember("AnotherField", BindingFlags.Static |
                BindingFlags.GetField, null, null, null);
        }
        catch (MissingMemberException e)
        {
         // Notice that this code is catching MissingMemberException which is the
         // base class of MissingMethodException and MissingFieldException.
         // Show the user that the AnotherField field cannot be accessed.
         Console.WriteLine("Unable to access the AnotherField field: {0}", e.Message);
        }
    }
}
// This code example produces the following output:
//
// Unable to call the DoSomething method: Method 'App.DoSomething' not found.
// Unable to access the AField field: Field 'App.AField' not found.
// Unable to access the AnotherField field: Field 'App.AnotherField' not found.


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft