Явное преобразование своего класса в int - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Есть такой класс:
public class Address
    {
        private int _Field;
        private int _position;
        private Chip chip;
        private int Field
        {
            get { return _Field; }
            set
            {
                _Field = value;
                if (this.chip == Chip.Black)
                {
                    if (this._Field == 5) this._Field = 1;
                    if (this._Field == 6) this._Field = 2;
                }
            }
        }
        private int position
        {
            get { return _position; }
            set
            {
                int temp = value - _position;
                if (temp> 6)
                {
                    int tt = temp / 6;
                    Field += tt;
                    int t = temp % 6;
                    _position += t;
                }
                else _position = value;
            }
        }
        public int Position { get { return _Field * 10 + _position; } }
        public static Address operator + (Address cur, int a)
        {
            cur.position += a;
            return cur;
        }
        public Address(Chip ChipAdr)
        {
            this.chip = ChipAdr;
            if (chip == Chip.White) { this._Field = 1; this._position = 1; }
            else { this._Field = 3; this._position = 1; }
        }
    }
Служит для расчета позиции шашки в нардах. Нужно чтобы он явно преобразовывался в int. Временно заколхозил свойство под эти нужды
public int Position { get { return _Field * 10 + _position; } }
Студия вещает, что оператор as работает только с ссылочными типами.. Не могу придумать как это сделать..

Решение задачи: «Явное преобразование своего класса в int»

textual
Листинг программы
public static explicit operator int(Address cur)
        {
            return cur._Field * 10 + cur._position;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы