ホームページ > バックエンド開発 > C++ > C#の静的クラスは、拡張メソッドを使用して拡張できますか?

C#の静的クラスは、拡張メソッドを使用して拡張できますか?

Barbara Streisand
リリース: 2025-01-28 07:46:08
オリジナル
240 人が閲覧しました

Can Static Classes in C# Be Extended Using Extension Methods?

c#静的クラス拡張:拡張方法の制限と代替

c#では、既存の静的クラスを直接拡張することはできません。これは、静的クラスには、拡張法に必要なインスタンス変数がないためです。 代替:静的パッケージ

回答に記載されているように、ターゲットの静的クラスをパッケージ化するために静的パッケージクラスを作成して、拡張機能を提供できます。このパッケージクラスには、これらのメソッドが元の静的クラスメソッドを呼び出して、抽象化の層を効果的に提供します。

たとえば、クラスを拡張するには、

と呼ばれる静的パッケージクラスを作成できます。

このパッケージングデバイスを使用して、

メソッドを呼び出すことにより、Consoleの関数に間接的にアクセスできます。 ConsoleWrapper

この方法では、
public static class ConsoleWrapper
{
    public static void WriteBlueLine(string text)
    {
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.WriteLine(text);
        Console.ResetColor();
    }
}
ログイン後にコピー
クラスに拡張機能を厳密に追加しているわけではありませんが、個別のパッケージングクラスを通じて静的関数を拡張する同様の能力を提供します。

以上がC#の静的クラスは、拡張メソッドを使用して拡張できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート