Мне очень жаль, если название темы не соответствует моей проблеме.Я собирался его погуглить, но понятия не имею, как называется моя «проблема»: (
Я думаю, что это действительно базовый вопрос, но я думаю, что это важно понять. Прежде всего, яЯ покажу код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
A a = new A();
a.x = 5;
a.y = 41;
B b = new B();
b.a = 14;
b.b = a.y;
b.c = a;
a.x += 10;
a.y -= 30;
}
}
class A
{
public int x;
public int y;
}
class B
{
public int a;
public int b;
public A c;
}
}
У меня есть несколько очень базовых классов A и B. B может содержать экземпляр A. У меня есть «проблема»: если передать A в Bи установите свойство A (a.y -= 30;
), значение b.b
также изменится. Как этого избежать? Я просто хочу, чтобы b.b
было значением a.y
. Но если a.y
изменяется, b.b
Не должен! Это единственный способ сделать это, создать клон объектов и затем передать его?