Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des remarques supplémentaires à la documentation de référence de cette API.
L’exception NotImplementedException est levée lorsqu’une méthode particulière, un accesseur get ou un accesseur set est présent en tant que membre d’un type, mais n’est pas implémenté.
NotImplementedException utilise l’implémentation par défaut Object.Equals , qui prend en charge l’égalité des références. Pour obtenir la liste des valeurs initiales d’une instance de NotImplementedException, consultez les NotImplementedException constructeurs.
Lever l’exception
Vous pouvez choisir de lever une NotImplementedException exception dans les propriétés ou méthodes de vos propres types lorsque le membre est toujours en développement et ne sera implémenté que plus tard dans le code de production. En d’autres termes, une NotImplementedException exception doit être synonyme de « toujours en développement ».
Gérer l’exception
L’exception NotImplementedException indique que la méthode ou la propriété que vous tentez d’appeler n’a pas d’implémentation et ne fournit donc aucune fonctionnalité. Par conséquent, vous ne devez pas gérer cette erreur dans un try/catch
bloc. Au lieu de cela, vous devez supprimer l’appel de membre de votre code. Vous pouvez inclure un appel au membre lorsqu’il est implémenté dans la version de production d’une bibliothèque.
Dans certains cas, une NotImplementedException exception peut ne pas être utilisée pour indiquer les fonctionnalités qui sont toujours en cours de développement dans une bibliothèque de préproduction. Toutefois, cela indique toujours que la fonctionnalité n’est pas disponible et que vous devez supprimer l’appel de membre de votre code.
NotImplementedException et autres types d’exceptions
.NET inclut également deux autres types d’exception et NotSupportedExceptionPlatformNotSupportedException, qui indiquent qu’aucune implémentation n’existe pour un membre particulier d’un type. Vous devez lancer l'une de ces exceptions au lieu d'une exception NotImplementedException dans les conditions suivantes :
Lancez une PlatformNotSupportedException exception sur les plateformes sur lesquelles cette fonctionnalité n’est pas prise en charge si vous avez conçu un type avec un ou plusieurs membres disponibles sur certaines plateformes ou versions, mais pas sur d'autres.
Lève une NotSupportedException exception si l'implémentation d'un membre d'interface ou la substitution d'une méthode de classe de base abstraite n'est pas possible.
Par exemple, la Convert.ToInt32(DateTime) méthode lève une NotSupportedException exception, car il n'existe pas de conversion significative entre une date-heure et un entier signé de 32 bits. La méthode doit être présente dans ce cas, car la Convert classe implémente l’interface IConvertible .
Vous devez également lever une exception NotSupportedException si vous avez implémenté une classe de base abstraite et que vous y ajoutez un nouveau membre qui doit être redéfini par les classes dérivées. Dans ce cas, rendre le membre abstrait empêche le chargement des sous-classes existantes.