-3

コードを変更して、シングルトン デザイン パターンを実装しようとしています。

Roomというクラスがあります

protected Room()
{

}

public static Room Instance()
{
    if (_instance == null)
    {
        _instance = new Room();
    }
    return _instance;
}

public char room { get; set; }

メインクラスからいくつかの値を割り当てたい

Room myRm = Room.Instance(); 

List<Room> myRoom = new List<Room>();
char[] RoomArray = new char[] { 'A', 'B', 'C', 'D' };               
foreach (char c in RoomArray)
{
    var theroom = myRm.room = c;
    myRoom.Add(theroom); <-----------does not allow me to add some
}

これら2つのエラーが発生しています

の最適なオーバーロードされたメソッド マッチに System.Collections.Generic.List<ASR2.Room>.Add(ASR2.Room)は無効な引数があります

C:\Project\c-sharp\Assignment1\Asr3\Asr3\Asr.cs

引数 1: 'char' から 'ASR2.Room' C:\Project\c-sharp\Assignment1\Asr3\Asr3\Asr.cs に変換できません

誰か助けてくれませんか?

4

3 に答える 3

1

次の行のために、オブジェクトcharのリストにを追加しようとしています:Room

var theroom = myRm.room = c;

cですchar

ここで何を意図しているのかわかりませんが、部屋のリストが必要な場合は、コードを次のように変更します。

myRoom.Add(myRm);

しかし、これは の同じインスタンスのリストを提供しますがRoom、これはあまり役に立ちません。

アーキテクチャを再考し、シングルトンが必要だと思う理由を説明する必要があると思います。シングルトンのリストは役に立ちません。

于 2013-08-18T02:47:06.413 に答える