Что-то я туплю
От: maxus78  
Дата: 05.03.07 16:25
Оценка:
Здравствуйте, уважаемые коллеги.

Ситуация такая:

namespace WindowsApplication21
{
        class Class1
        {
            public Class2 c2Object;
        }
        class Class2
        {
            public string strValue;
        }

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Class2 c2 = new Class2();
            c2.strValue = "Test";
            Class1 c1 = new Class1();
            c1.c2Object = c2;
            System.Diagnostics.Debug.Write("c1.c2Object.strValue = " + c1.c2Object.strValue + "\n");
            System.Diagnostics.Debug.Write("c2.strValue = " + c2.strValue + "\n");
            c2.strValue = "Non-test";
            System.Diagnostics.Debug.Write("c1.c2Object.strValue = " + c1.c2Object.strValue + "\n");
            System.Diagnostics.Debug.Write("c2.strValue = " + c2.strValue + "\n");
        }
    }
}


Output:

c1.c2Object.strValue = Test
c2.strValue = Test
c1.c2Object.strValue = Non-test
c2.strValue = Non-test

А мне бы не надо, чтобы при изменении свойства в с2 менялось что-то в с1. В смысле, чтобы при присвоении c1.c2Object = c2 в с1 передавалась не ссылка на с2, а либо сам с2, либо копия с2. Понять не могу как это сдлеать. В книжке пишут, что типы, не входящие в CTS, используются по ссылкам. И чего? Как все-таки передать не ссылку, а экземпляр?

Заранее, огромное человеческое спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.