Maison >développement back-end >C++ >Les classes statiques en C # peuvent-elles être étendues à l'aide de méthodes d'extension?
C # Extension de classe statique: les limitations et les alternatives de la méthode d'extension
Dans C #, la classe statique existante ne peut pas être élargie directement. En effet, la classe statique n'a pas une variable d'instance requise pour la méthode d'extension.
Alternative: emballage statique
Comme indiqué dans la réponse, une classe d'emballage statique peut être créée pour emballer la classe statique cible, fournissant ainsi la fonction d'extension. Cette classe d'emballage contient des méthodes statiques.
Par exemple, pour étendre la classe, vous pouvez créer une classe de package statique appelée
:
Console
ConsoleWrapper
À l'aide de ce dispositif d'emballage, vous pouvez accéder indirectement à la fonction
<code class="language-csharp">public static class ConsoleWrapper { public static void WriteBlueLine(string text) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(text); Console.ResetColor(); } }</code>:
ConsoleWrapper
WriteBlueLine
Bien que cette méthode n'ajoute pas strictement une extension à la classe Console
, il offre des capacités similaires pour étendre les fonctions statiques via une classe de packagage distincte.
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!