Maison >développement back-end >C++ >Comment puis-je restreindre les arguments de méthode générique aux types numériques en C #?
C # Méthode générique Limite de type numérique
La méthode générique en C # est un outil puissant pour les opérations abstraites et complexes entre différents types. Cependant, les mots clés traditionnels permettent uniquement les interfaces ou les contraintes d'héritage. Cette limite peut devenir un problème lorsque vous souhaitez limiter le paramètre à un type spécifique (comme le type d'élément de base numérique).
where
Avec l'émergence de .NET 7, une solution à ce problème est apparue: System.umerics nommé
Implémentation d'IntegerFunction IBinaryInteger<Tself>
Par exemple, compte tenu de la suivante , si le paramètre passé est positif, renvoyez vrai.
IntegerFunction
<code class="language-csharp">static bool IntegerFunction<T>(T value) where T : IBinaryInteger<T> { return value > T.Zero; }</code>
Revue d'histoire
Avant l'introduction de , C # manque de support explicite pour limiter les paramètres génétiques en tant que type numérique spécifique. Au lieu de cela, les programmeurs peuvent aider à modifier des méthodes, telles que les modèles d'usine ou la stratégie. Cependant, ces méthodes obligent les utilisateurs à rédiger du code supplémentaire et à augmenter la complexité. IntegerFunction
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!