Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

MissingMethodException, classe

Exception levée lors d'une tentative d'accès dynamique à une méthode qui n'existe pas.

System.Object
  System.Exception
    System.SystemException
      System.MemberAccessException
        System.MissingMemberException
          System.MissingMethodException

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

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

Le type MissingMethodException expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par XNA FrameworkMissingMethodException()Initialise une nouvelle instance de la classe MissingMethodException.
Méthode publiquePris en charge par XNA FrameworkMissingMethodException(String)Initialise une nouvelle instance de la classe MissingMethodException avec un message d'erreur spécifié.
Méthode protégéeMissingMethodException(SerializationInfo, StreamingContext)Initialise une nouvelle instance de la classe MissingMethodException avec des données sérialisées.
Méthode publiquePris en charge par XNA FrameworkMissingMethodException(String, Exception)Initialise une nouvelle instance de la classe MissingMethodException avec un message d'erreur spécifié et une référence à l'exception interne qui est à l'origine de cette exception.
Méthode publiqueMissingMethodException(String, String)Initialise une nouvelle instance de la classe MissingMethodException avec le nom de la classe et le nom de la méthode spécifiés.
Début

  NomDescription
Propriété publiqueDataObtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l'utilisateur sur l'exception. (Hérité de Exception.)
Propriété publiqueHelpLinkObtient ou définit un lien vers le fichier d'aide associé à cette exception. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkHResultObtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkInnerExceptionObtient l'instance Exception qui a provoqué l'exception actuelle. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkMessageObtient la chaîne de texte montrant le nom de la classe, le nom de la méthode et la signature de la méthode manquante. Cette propriété est en lecture seule. (Substitue MissingMemberException.Message.)

Dans XNA Framework 3.0, ce membre est hérité de Exception.Message.
Propriété publiqueSourceObtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkStackTraceObtient une représentation sous forme de chaîne des frames immédiates sur la pile des appels. (Hérité de Exception.)
Propriété publiqueTargetSiteObtient la méthode qui lève l'exception actuelle. (Hérité de Exception.)
Début

  NomDescription
Méthode publiquePris en charge par XNA FrameworkEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéePris en charge par XNA FrameworkFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetBaseExceptionEn cas de substitution dans une classe dérivée, retourne Exception qui est à l'origine d'une ou de plusieurs exceptions suivantes. (Hérité de Exception.)
Méthode publiquePris en charge par XNA FrameworkGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetObjectDataDéfinit l'objet SerializationInfo avec le nom de la classe, le nom du membre, la signature du membre manquant et les informations d'exception supplémentaires. (Hérité de MissingMemberException.)
Méthode publiquePris en charge par XNA FrameworkGetTypeObtient le type au moment de l'exécution de l'instance actuelle. (Hérité de Exception.)

Dans XNA Framework 3.0, ce membre est hérité de Object.GetType().
Méthode protégéePris en charge par XNA FrameworkMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkToStringCrée et retourne une chaîne représentant l'exception en cours. (Hérité de Exception.)
Début

  NomDescription
Événement protégéSerializeObjectStateSe produit lorsqu'une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées relatives à l'exception. (Hérité de Exception.)
Début

  NomDescription
Champ protégéClassNameContient le nom de la classe du membre manquant. (Hérité de MissingMemberException.)
Champ protégéMemberNameContient le nom du membre manquant. (Hérité de MissingMemberException.)
Champ protégéSignatureContient la signature du membre manquant. (Hérité de MissingMemberException.)
Début

Normalement, une erreur de compilation est générée si le code essaie d'accéder à une méthode inexistante d'une classe. MissingMethodException est conçue pour gérer les cas dans lesquels une tentative est faite pour accéder dynamiquement à une méthode renommée ou supprimée d'un assembly qui n'est pas référencé par son nom fort. MissingMethodException est levée lorsque le code figurant dans un assembly dépendant tente d'accéder à une méthode manquante dans un assembly qui a été modifié.

MissingMethodException utilise le HRESULT COR_E_MISSINGMETHOD dont la valeur est 0x80131513.

Pour obtenir une liste des valeurs initiales des propriétés d'une instance de MissingMethodException, consultez les constructeurs MissingMethodException.

RemarqueRemarque

Cette exception n'est pas incluse dans l'.NET pour les applications du Windows Store ou Bibliothèque de classes portable, mais elle est levée par certains membres qui sont. Pour intercepter l'exception dans ce cas, écrivez une instruction catch pour MissingMemberException.

Cet exemple montre ce qui se passe lorsque vous essayez d'utiliser la réflexion pour appeler une méthode et accéder à un champ qui n'existent pas. L'application récupère en interceptant MissingMethodException, MissingFieldException et 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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications Windows Phone

Pris en charge dans : 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 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft