Ключевое слово «новое», возвращающее тот же экземпляр классаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ключевое слово «новое», возвращающее тот же экземпляр класса

Сообщение Anonymous »

У меня есть два класса, один из которых наследуется от другого.
Когда внешний скрипт вызывает .copy(), он всегда получает родительский компонент DataComponent, а не BooleanProperty. >
Если copy() не вызывается, вместо этого получается передача по ссылке, в результате чего изменения в одном экземпляре влияют на другой (потому что они одинаковы; мне это не нужно). );
Я считаю, что это моя проблема: я не знаю синтаксиса языка или чего-то еще, надеюсь, это именно так.
Использование Unity 2020.3 .17f1 с Windows 10.
Код двух классов:

Код: Выделить всё

[System.Serializable]
public class DataComponent
{
public DataComponent(string n = "")
{
name = n;
}

public string name;
[System.NonSerialized]public string value;

public DataComponent copy()
{
DataComponent ret = new DataComponent(this.name);
ret.value = this.value;
return ret;
}
}

[System.Serializable]
public class BooleanProperty : DataComponent
{
public BooleanProperty(string n = "") : base(n) { }

public new bool value;

public new BooleanProperty copy()
{
BooleanProperty ret = new BooleanProperty(name);
ret.value = value;
return ret;
}
}
-Проблема решена путем объявления отдельного метода copyBool() внутри BooleanProperty. Вызов copyBool() работает должным образом (возвращает новый экземпляр)

Подробнее здесь: https://stackoverflow.com/questions/790 ... of-a-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ключевое слово «новое», возвращающее тот же экземпляр класса
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Ключевое слово «новое», возвращающее тот же экземпляр класса
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Ключевое слово «новое», возвращающее тот же экземпляр класса
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Ключевое слово с нулевым условием, с нулевым объединением, перечисляемое и ключевое слово params
    Anonymous » » в форуме C#
    0 Ответы
    143 Просмотры
    Последнее сообщение Anonymous
  • Ключевое слово с нулевым условием, с нулевым объединением, перечисляемое и ключевое слово params
    Anonymous » » в форуме C#
    0 Ответы
    117 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»