c#では、既存の静的クラスを直接拡張することはできません。これは、静的クラスには、拡張法に必要なインスタンス変数がないためです。 代替:静的パッケージ
回答に記載されているように、ターゲットの静的クラスをパッケージ化するために静的パッケージクラスを作成して、拡張機能を提供できます。このパッケージクラスには、これらのメソッドが元の静的クラスメソッドを呼び出して、抽象化の層を効果的に提供します。
たとえば、クラスを拡張するには、
:と呼ばれる静的パッケージクラスを作成できます。
このパッケージングデバイスを使用して、メソッドを呼び出すことにより、Console
の関数に間接的にアクセスできます。
ConsoleWrapper
<code class="language-csharp">public static class ConsoleWrapper { public static void WriteBlueLine(string text) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(text); Console.ResetColor(); } }</code>クラスに拡張機能を厳密に追加しているわけではありませんが、個別のパッケージングクラスを通じて静的関数を拡張する同様の能力を提供します。
以上がC#の静的クラスは、拡張メソッドを使用して拡張できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。