C# には言語固有機能として static クラスという機能があります。クラス自体を static と宣言することで、インスタンス作成を禁止し、static 宣言したクラスのインスタンスが複数作成できないようにできます。ですがこの機能、デザインパターンにあるシングルトンと何か違うのでしょうか?ちょっと考察してみました。 まずは、static クラスと Singleton 各々が C# 言語上でどういう風に表現されるか見ていきたいと思います。 staticクラスの宣言 static クラスの宣言方法は簡単で、クラスの前に static を付けます。 // 宣言に「static」を追加 public static class GlobalDataByStaticClass ... こうすることによってこのクラスの新規作成、インスタンスメンバーの保持を禁止することができます。 public st