Maison  >  Article  >  développement back-end  >  Méthodes d'extension C#

Méthodes d'extension C#

WBOY
WBOYoriginal
2024-09-03 15:32:56701parcourir

Selon le sens littéral de l'extension, les méthodes supplémentaires sont appelées méthodes d'extension C# à l'aide desquelles les méthodes supplémentaires peuvent être ajoutées sans apporter de modifications ni hériter ou restructurer la structure, la classe ou l'interface d'origine et nous pouvons ajouter de telles méthodes d'extension. aux classes personnalisées créées par nos soins, aux classes du framework .NET ou aux classes de tiers ou d'interfaces et ces méthodes d'extension sont accessibles tout au long du flux du programme en incluant les espaces de noms dans lesquels elles sont définies et c'est une méthode statique d'un type spécial défini dans une classe statique.

Syntaxe des méthodes d'extension C#

Définition de l'espace de noms, de la classe et de la méthode d'extension.

Syntaxe :

namespace namespace_name
{
public static class class_name
{
public static bool extension_method_name(parameters_list)
{
//Blocks of code
}
}
}

Où namespace_name est le nom de l'espace de noms dans lequel la méthode d'extension est définie.

Class_name est le nom de la classe statique dans laquelle la méthode d'extension est définie.

Extension_method_name est le nom de la méthode d'extension.

La liste des paramètres est la liste des paramètres dont le premier paramètre est le type de l'opérateur sur lequel la méthode va opérer et qui aura un préfixe ce mot-clé.

Fonctionnement des méthodes d'extension C#

  • Les méthodes d'extension sont les méthodes personnalisées qui sont créées en plus et ne font pas partie de la classe d'origine.
  • Un espace de noms est défini dans lequel une classe statique est définie, puis la méthode d'extension est définie dans la classe statique. En utilisant l'espace de noms dans lequel la méthode d'extension est définie, la méthode peut être utilisée dans toute l'application.
  • La méthode d'extension est un cas particulier de méthode statique définie à l'intérieur d'une classe statique dont le premier paramètre est le type de l'opérateur sur lequel elle va opérer avec un préfixe this mot-clé.
  • Les méthodes d'extension peuvent être incluses dans les classes du framework .NET, les classes personnalisées, les structures ou interfaces, les classes tierces.

Exemples d'implémentation de méthodes d'extension C#

Vous trouverez ci-dessous les exemples de méthodes d'extension C#

Exemple n°1

Programme C# pour démontrer la méthode Extension dans un programme pour comparer deux entiers :

 Code :

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to compare two integers is defined
public static bool extensionmethodname(this intstr, intval)
{
return str>val;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
intstri = 565;
//extension method defined in another static class is called here
bool z = stri.myExtensionMethod(200);
Console.WriteLine("The result of the comparison is: {0}", z);
Console.ReadLine();
}
}
}

Sortie :

Méthodes d'extension C#

Explication : Dans le programme ci-dessus, un espace de noms appelé check est défini. Ensuite, une classe statique appelée classe de méthode d'extension est définie dans laquelle la méthode d'extension permettant de comparer deux entiers est définie. Ensuite, une autre classe appelée check1 est définie dans laquelle la méthode d'extension peut être ajoutée même si elle est définie dans une classe différente mais relève du même espace de noms. La méthode d'extension renvoie le résultat de la comparaison de deux entiers. Le résultat de l'instantané est tel qu'indiqué dans l'instantané ci-dessus.

Exemple n°2

Programme C# pour démontrer la méthode Extension dans un programme pour connaître la longueur d'une chaîne :

 Code :

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to find out the length of a string is defined
public static intextensionmethodname(this string str)
{
return str.Length;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
string stri = "ShobhaShivakumar";
//extension method defined in another static class is called here
int z = stri.extensionmethodname();
Console.WriteLine("The length of the string obtained by using extension method is: {0}", z);
Console.ReadLine();
}
}
}

Sortie :

Méthodes d'extension C#

Explication : Dans le programme ci-dessus, un espace de noms appelé check est défini. Ensuite, une classe statique appelée classe de méthode d'extension est définie dans laquelle la méthode d'extension permettant de calculer la longueur de la chaîne qui lui est passée en paramètre est définie. Ensuite, une autre classe appelée check1 est définie dans laquelle la méthode d'extension peut être ajoutée même si elle est définie dans une classe différente mais relève du même espace de noms. La méthode d'extension renvoie la longueur de la chaîne qui lui est passée en paramètre comme résultat. Le résultat de l'instantané est tel qu'indiqué dans l'instantané ci-dessus.

Exemple #3

Code :

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to add two numbers is defined
public static intextensionmethodname(this intstr, intval)
{
return str+val;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
intstri = 100;
//extension method defined in another static class is called here
int z = stri.extensionmethodname(200);
Console.WriteLine("The result of addition of two numbers obtained by using extension method is: {0}", z);
Console.ReadLine();
}
}
}

Sortie :

Méthodes d'extension C#

Explication : Dans le programme ci-dessus, un espace de noms appelé check est défini. Ensuite, une classe statique appelée classe de méthode d'extension est définie dans laquelle la méthode d'extension permettant d'ajouter deux nombres qui lui sont passés en paramètre est définie. Ensuite, une autre classe appelée check1 est définie dans laquelle la méthode d'extension peut être ajoutée même si elle est définie dans une classe différente mais relève du même espace de noms. La méthode d'extension renvoie le résultat après avoir ajouté les deux nombres.

Conclusion

Dans ce didacticiel, nous comprenons le concept des méthodes d'extension C# à travers la définition, sa syntaxe et l'utilisation d'exemples de programmation et de leurs sorties.

Article recommandé

Ceci est un guide des méthodes d'extension C#. Nous discutons ici de l'introduction aux méthodes d'extension C# et de leur fonctionnement ainsi que de ses exemples et de l'implémentation du code. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus –

  1. Générateur de nombres aléatoires en C#
  2. Constructeur statique en Java
  3. TextWriter en C#
  4. Constructeur statique en C#

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!

Déclaration:
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
Article précédent:Correspondance de modèles C#Article suivant:Correspondance de modèles C#