#c#
#c#
Вопрос:
Есть ли способ создать новый класс с параметром для конструктора, являющимся классом, в котором он создан? Я попробовал ключевое слово ‘this’, но получаю ошибку: «ключевое слово this недоступно в текущем контексте»
Код — это в основном то, что я пытаюсь сделать. Игроку нужна ссылка на его игровой класс.
class Player
{
Game referenceGame;
public Player(Game game)
{
referenceGame = game;
}
}
class Game
{
public Player player1 = new Player(this);
}
Ответ №1:
Вы не можете ссылаться на this
в инициализаторе поля, вот и все. Вы можете сделать это из тела конструктора, поэтому вам просто нужно изменить Game
класс на:
class Game
{
public Player player1;
public Game()
{
player1 = new Player(this);
}
}
(В качестве примечания я бы настоятельно рекомендовал не использовать общедоступные поля, но это другой вопрос.)
Ответ №2:
Разве это не то, что вы ищете?
class Player
{
Game referenceGame;
public Player(Game game)
{
referenceGame = game;
}
}
class Game
{
Player player1;
public Game()
{
player1 = new Player(this);
}
}