wrewolf
@wrewolf

Вопрос про делегирующий конструктор c#?

Как будет работать данные код?

Если получен 1 аргумент в конструктор то будет создан объект с 2 значениями по умолчанию?

Если 2 то только с 1 значением по умолчанию.

Я правильно понимаю?

    class Block

    {

        private int id;

        private int meta;

        private string name;

        private float breakTime;

 

        public Block(int id)

            : this(id, 0) { }

 

        public Block(int id, int meta)

            : this(id, meta, "Unknown") { }

 

        public Block(int id, int meta, string name)

        {

            this.id = (int)id;

            this.meta = (int)meta;

            this.name = name;

            this.breakTime = 0.20f;

        }

    }
  • Вопрос задан
  • 3374 просмотра
Пригласить эксперта
Ответы на вопрос 1
Monnoroch
@Monnoroch
У вас, вероятно, опечатка:
public Block(int id, int meta) : this(id, meta, "Unknown") { }

В остальном да, просто конструкторы будут вызываться в интуитивном порядке. Сначала напрямую вызванный, потом вызываемый первым и так далее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы