Куда деваются данные из переменных? .Net
От: Max1983 http://koksa.net
Дата: 22.06.08 08:55
Оценка:
Путаница какая-то!
вот класс
public ref class NamesOne
{
public:
        String ^ OneName;
        String ^ TwoName;
        int ID;
public:
        NamesOne()
        {
            ID = -1;
            OneName = "";
            TwoName = "";
        }
};

Вот второй класс
public ref class NamesArray
{
    public:
    static System::Collections::Hashtable ^ dataHolder;
    static ArrayList ^ namesA;//для храниния экзепляров первого
    String ^ CodeLang;

    public://Конструктор
    NamesArray()
    {

        dataHolder = gcnew  System::Collections::Hashtable();
        namesA = gcnew System::Collections::ArrayList();

    }
}

Создаю глобальную переменую второго класса!
Передаю ее по ссылке(когда данные уже заполненны)
в той функции куда передаю тоже создается класс второго типа (отдельный экземпляр)
и сразу после создания(данные еще не заполненны)
первый класс вторго типа теряет все данные на 0!

я полагаю из за типа переменых static! но как мне тогда использовать ArrayList ^? ведь без ключевого слова static ошибку выдает?
Re: Куда деваются данные из переменных? .Net
От: nikov США http://www.linkedin.com/in/nikov
Дата: 22.06.08 19:17
Оценка:
Здравствуйте, Max1983, Вы писали:

M>Создаю глобальную переменую второго класса!

M>Передаю ее по ссылке(когда данные уже заполненны)
M>в той функции куда передаю тоже создается класс второго типа (отдельный экземпляр)
M>и сразу после создания(данные еще не заполненны)
M>первый класс вторго типа теряет все данные на 0!

Код покажите. Чтобы можно было его скомпилировать и отладить. А то трудно понять, что такое первый класс второго типа как он теряет данные на 0.
Re[2]: Куда деваются данные из переменных? .Net
От: Max1983 http://koksa.net
Дата: 23.06.08 06:45
Оценка: :))) :)))
Здравствуйте, nikov, Вы писали:

N>Код покажите. Чтобы можно было его скомпилировать и отладить. А то трудно понять, что такое первый класс второго типа как он теряет данные на 0.


Ну что тут код показывать!
Далаеш класс в котором есть глобальная переменная

static ArrayList ^ namesA;

в конструкторе типа инициализируеш

amesA = gcnew System::Collections::ArrayList();

создаеш в классе формы экземпляр этого класса
пихаеш в namesA данные по выбору.

Создаеш еще 1 класс такова же типа..
и опа в дебуджере уже можно увидеть что из экземпляра первого в namesA данных не стало.
Re[3]: Куда деваются данные из переменных? .Net
От: Ziaw Россия  
Дата: 24.06.08 08:44
Оценка:
Здравствуйте, Max1983, Вы писали:

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

Срочно читать стандарт языка про static members.
... << RSDN@Home 1.2.0 alpha 4 rev. 1089>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.