【簡単解説】C# シングルトンでインスタンスをひとつに!

C#

こんにちは、リバティエンジニア[?]のたくやです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。

C#のシングルトンとは

C#における「シングルトン」(singleton)とは、動いているアプリの中で1つしかないもののこと言います。

C#でシングルトンを実現する方法として、

  • 静的クラスを使う方法
  • シングルトンパターンを実装したクラスを作る方法

この2種類があります。
今回はその中でも比較的実装しやすい、「シングルトンパターン」を使って作成したクラスを使う方法についてみていきます。

サンプルコード

早速ですが、サンプルコードをご覧ください。

// Singletonパターン
public sealed class SingletonClass
{
/// <summary>
/// インスタンスの生成
/// </summary>
private static SingletonClass _singleInstance = new SingletonClass();

/// <summary>
/// インスタンスを返す関数
/// </summary>
public static SingletonClass GetInstance()
{
return _singleInstance;
}

/// <summary>
/// コンストラクタ
/// </summary>
private SingletonClass()
{
// 初期化処理
}
}

簡単に説明すると、
まずは、コンストラクタである「SingletonClass」のスコープを「private」に変更します。
その後、6行目のGetInstance()メソッドでインスタンスを取得するようにします。

IT博士
IT博士

簡単ですよね!
これで、インスタンスは一つしか作成されません。

こんなに簡単に実現できたんですね!

今までは気を使ってインスタンスが複数できてしまわないようにしてました。

IT博士
IT博士

はい。これでその心配もないですね!
使いどころを判断しうまく使ってください♪

まとめ

今回は、プログラミング言語C#における「シングルトン」を使い、インスタンスをひとつだけにして複数のインスタンスが作られてしまい不具合が起きるのを未然に防ぐことができますね!

他にもC#や他のプログラミング言語の記事もあるので、よかったら見ていってくださいね。

[C#] ラムダ式はこれさえ見ればOK!簡単徹底解説
C#を勉強していると、ほとんどの方が詰まってしまう場所といえば、「ラムダ式」がかなり上位にランクインすると思います。理由としては、ラムダ式だけ考え方が少し違っていて、頭の使い方が異なるんです。なので、混乱してしまう方が多いように思いますし、

なにか質問があればお問い合わせフォームでお気軽にお問合せください。
可能な限りすぐにお返事します。
一流プログラマを目指して頑張りましょう!

C#
今日からワタシはプログラマ

コメント