Méthodes surchargées et ambiguïté en C#

WBOY
Libérer: 2023-09-06 08:45:10
avant
764 Les gens l'ont consulté

C# 中的重载方法和歧义

Avec la surcharge de méthode, vous pouvez avoir plusieurs définitions du même nom de fonction dans la même portée. Les définitions de fonctions doivent différer par le type et/ou le nombre de paramètres dans la liste des paramètres.

Regardons un exemple. Ici, l'appel va à une méthode avec un seul paramètre -

Exemple

using System;

class Student {
   static void DisplayMarks(int marks1 = 90) {
      Console.WriteLine("Method with one parameter!");
   }

   static void DisplayMarks(int marks1, int marks2 = 95) {
      Console.WriteLine("Method with two parameters!");
   }

   static void Main() {
      DisplayMarks(97);
   }
}
Copier après la connexion

Voyons maintenant ce qui crée un appel ambigu. La confusion ici est que la deuxième méthode nécessite deux paramètres par défaut, tandis que la première méthode nécessite qu'un paramètre soit par défaut. Cela crée une ambiguïté.

Exemple

using System;

class Student {
   static void DisplayMarks(int marks1 = 90, int marks2 = 80) {
      Console.WriteLine("Method with two parameters!");
   }

   static void DisplayMarks(int marks1, int marks2 = 80, marks3 = 98) {
      Console.WriteLine("Method with three parameters!");
   }

   static void Main() {
      DisplayMarks(80);
   }
}
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal