Задать вопрос
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;

        }

    }
  • Вопрос задан
  • 3722 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
Monnoroch
@Monnoroch
У вас, вероятно, опечатка:
public Block(int id, int meta) : this(id, meta, "Unknown") { }

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

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

Похожие вопросы