Les méthodes d'extension doivent être définies dans une classe statique non générique
Lorsque vous essayez de définir des méthodes d'extension, vous pouvez rencontrer l'erreur : " Les méthodes d'extension doivent être définies dans une classe statique non générique. Cela indique que votre classe d'assistance ne répond pas aux critères requis pour créer des méthodes d'extension en C#.
Pour résoudre ce problème, consultez les instructions suivantes :
-
Non générique Classe :
La classe contenant la méthode d'extension doit être déclarée comme non générique, ce qui signifie qu'elle ne doit pas avoir de paramètres de type entre crochets (par exemple, classe publique LinqHelper).
-
Classe statique :
Les méthodes d'extension doivent être définies uniquement dans les classes statiques. Cela signifie que la classe doit être déclarée comme classe statique publique LinqHelper.
-
Classe non imbriquée :
Les méthodes d'extension ne peuvent pas être définies dans les classes imbriquées. Ainsi, la classe LinqHelper doit être une classe autonome sans aucune classe englobante.
Dans le code fourni, la classe LinqHelper a été initialement définie comme une classe générique, ce qui a violé l'exigence n°1. Le modifier en classe statique publique LinqHelper résoudra l'erreur.
Caractéristiques de la méthode d'extension :
En plus des exigences de classe, les méthodes d'extension elles-mêmes doivent adhérer à certaines conventions :
-
Méthode statique :
Les méthodes d'extension doivent être déclarées comme statiques dans la classe statique non générique.
-
Ce mot-clé :
Le premier paramètre de la méthode d'extension utilise le mot-clé this suivi du type auquel l'extension est appliquée, suivi de le nom du paramètre. Par exemple, public static IOrderedQueryable OrderBy (cette source IQueryable, propriété de chaîne).
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!