私はC#でプロジェクトを進めています。 私はクラス名の国家のためのテンプレートを使用しています、ここにコードがある:ジェネリック型エラーを使用しているC#のテンプレート
class State<T>
{
private T state; //so T could be string or Cell
}
と私は、Cell
public class Cell
{
int currentRow,currentColumn;
Char value;
public Cell()
{
this.currentRow = 4;
this.currentColumn = 7;
this.value='0';
}
}
という名前のクラスでそれを初期化する今、私は新しいState<Cell>
が私の最初になりたいです状態、と言って:
public class Maze
{
public State<Cell> initialState;
public void CreateMaze(string name, int type) //creating maze
{
Board Maze = new Cell[size, size]; //board is matrix of cells
currentRow = random.Next(0, size);
currentCol = random.Next(0, size);
Maze[currentRow, currentCol].value = '*';
initialState = State<Maze[currentRow, currentCol]>;
}
}
は私にエラーを与える ヘルプ「一つの引数を必要とジェネリック型を使用して」..?
ジェネリックは、オブジェクト(つまりクラスのインスタンス)と値ではなく、型(つまりクラスまたは値型)によってパラメータ化されます。 – TerraPass
@TerraPassのように、オブジェクトのインスタンスを型パラメータとして使用しようとしています。あなたはそれをすることはできません – Jonesopolis
私はどのように割り当てを行うのですか?まだ状態です –