Home » Sciences et technologies » Nouveau dans .NET 8.0 [14]: Nouvelles méthodes de garde pour les paramètres

Nouveau dans .NET 8.0 [14]: Nouvelles méthodes de garde pour les paramètres

by Nouvelles
Nouveau dans .NET 8.0 [14]: Nouvelles méthodes de garde pour les paramètres

2024-03-15 15:15:00


Dr. Holger Schwichtenberg est le directeur technique du réseau d’experts www.IT-Visions.de qui, avec 53 experts renommés, soutient de nombreuses moyennes et grandes entreprises par le biais de conseils et de formations ainsi que de développement de logiciels. Grâce à ses participations à de nombreuses conférences nationales et internationales ainsi qu’à plus de 90 ouvrages spécialisés et plus de 1 500 articles spécialisés, Holger Schwichtenberg est l’un des experts les plus connus en Allemagne dans le domaine des technologies .NET et Web.

Dans .NET 6.0, Microsoft avait la méthode guard ArgumentNullException.ThrowIfNull(Wert) introduit pour vérifier si un paramètre de méthode a été transmis comme valeur nulle. Suivi dans .NET 7.0 ArgumentException.ThrowIfNullOrEmpty(Wert) pour les chaînes de caractères.

Publicité

Dans .NET 8.0, il existe désormais des protections supplémentaires pour les paramètres de méthode qui vérifient également les plages de valeurs pour les nombres :

  • ArgumentOutOfRangeException.ThrowIfZero()
  • ArgumentOutOfRangeException.ThrowIfNegative()
  • ArgumentOutOfRangeException.ThrowIfNegativeOrZero()
  • ArgumentOutOfRangeException.ThrowIfGreaterThan()

Cela fonctionne avec tous les types de numéros, y compris vos propres types de numéros basés sur INumberBase et IComparable.

namespace NET8_Console;
public class FCL_Exceptions
{
 
 public string Calc(decimal? betrag, decimal prozent, string einheit)
 {
  #region neue Wächtermethoden vor .NET 8.0
  // seit .NET 6.0:
  ArgumentNullException.ThrowIfNull(betrag); 
  // seit .NET 7.0:
  ArgumentException.ThrowIfNullOrEmpty(einheit); 
  #endregion
 
  #region neue Wächtermethoden in .NET 8.0
  ArgumentOutOfRangeException.ThrowIfZero(betrag.Value); 
  ArgumentOutOfRangeException.ThrowIfNegativeOrZero(betrag.Value); 
  ArgumentOutOfRangeException.ThrowIfNegative(prozent); 
  ArgumentOutOfRangeException.ThrowIfGreaterThan(prozent, 100); 
  #endregion
 
  var ergebnis = betrag * prozent / 100;
  return $"{prozent}% von {betrag} {einheit} sind {ergebnis} {einheit}";
 }
 
 public void Run()
 {
  // 50% von 42 Euro sind 21 Euro:
  Console.WriteLine(Calc(42, 50, "Euro")); 
 }
 
}


(moi)

Vers la page d’accueil



#Nouveau #dans #.NET #Nouvelles #méthodes #garde #pour #les #paramètres
1710633266

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.