Ошибка: “Не может изменить возвращаемое значение” c#

Я использую автореализованные свойства. Я предполагаю, что самый быстрый способ зафиксировать следующее состоит в том, чтобы объявить мою собственную переменную поддержки?

public Point Origin { get; set; }

Origin.X = 10; // fails with CS1612

Сообщение об ошибке: не Может изменить возвращаемое значение 'выражения', потому что это не переменная

Попытка была предпринята для изменения типа значения, который был результатом промежуточного выражения. Поскольку значение не сохраняется, значение будет неизменно.

Для разрешения этой ошибки сохраните результат выражения в промежуточном значении или используйте ссылочный тип для промежуточного выражения.

135
задан DaveInCaz 6 September 2019 в 18:22
поделиться

1 ответ

Просто удалите свойство, "установлены" следующим образом, и затем все работает как всегда.

В случае типов примитивов instread используют получение; набор;...

using Microsoft.Xna.Framework;
using System;

namespace DL
{
    [Serializable()]
    public class CameraProperty
    {
        #region [READONLY PROPERTIES]
        public static readonly string CameraPropertyVersion = "v1.00";
        #endregion [READONLY PROPERTIES]


        /// <summary>
        /// CONSTRUCTOR
        /// </summary>
        public CameraProperty() {
            // INIT
            Scrolling               = 0f;
            CameraPos               = new Vector2(0f, 0f);
        }
        #region [PROPERTIES]   

        /// <summary>
        /// Scrolling
        /// </summary>
        public float Scrolling { get; set; }

        /// <summary>
        /// Position of the camera
        /// </summary>
        public Vector2 CameraPos;
        // instead of: public Vector2 CameraPos { get; set; }

        #endregion [PROPERTIES]

    }
}      
0
ответ дан 23 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

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