0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 5
|
||||||
1 | ||||||
Двумерный массив как поле класса C#19.11.2018, 14:55. Показов 4634. Ответов 10
Метки нет (Все метки)
Здравствуйте, столкнулся с проблемой что не могу получить двумерный массив из объекта класса
Есть библиотека
Не пойму в чем дело.
0
|
19.11.2018, 14:55 | |
Ответы с готовыми решениями:
10
Двумерный массив как поле класса Двумерный массив в динамической памяти как поле класса Массив объектов одного класса как поле другого класса Массив как поле класса |
Модератор
|
|
19.11.2018, 15:04 | 2 |
Если Вы о поле t2314 - объявите его public.
Добавлено через 2 минуты К полям name и m - это тоже относится Добавлено через 1 минуту Всё, что Вы хотите видеть за пределами класса объявляйте public (можно ещё internal, но там есть свои нюансы).
0
|
0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 5
|
||||||
19.11.2018, 15:31 [ТС] | 3 | |||||
t2314 это как просто переменная, объявление ее public не помогло,
name и m должны быть private, доступ к ним только через методы get_name и get_tochki В другой программе я вызываю следующее:
0
|
Модератор
|
|
19.11.2018, 16:00 | 4 |
Так правильно! У Вас же поле m на этот момент ещё не иниализированно!
Добавлено через 3 минуты Метод Lopatki.P2314A у Вас возвращает каждый раз НОВЫЙ объект класса Lopatki. А в новом объекте поле m ненициализированно. Вы либо сохраняйте новый объект. И потом работайте уже с созданным. Либо сделайте все поля статическими, что бы они сохраняли свои значения между вызовами статических методов.
0
|
0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 5
|
|
19.11.2018, 16:03 [ТС] | 5 |
То есть? Конструктор то ведь сработал, и поле name я могу получить, почему с m не так?
0
|
Модератор
|
||||||
19.11.2018, 16:10 | 6 | |||||
Если Вам нужны только статические методы, поля и свойства, то Вам надо сделать что в таком духе.
Он сработал, но при новом вызове он заново срабатывает, а в новом уже ничего не установлено. Добавлено через 3 минуты Вы объясните чего по алгоритму Вы добиваетесь, а то по коду не понятно.
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
19.11.2018, 16:17 | 7 |
Сообщение было отмечено Prikoll4ik как решение
Решение
поставьте точку остановки в начале метода, ДО вызова Вашего класса будете
Ваш конструктор срабатывает 1 раз, при инициализации статического поля P2314A а инициализируется оно null массивом т.к на момент вызова конструктора данное поле ещё не прошло инициализацию. Учитесь пользоваться отладкой и понимать что происходит.вы не правы, его поле классовое статичное, оно 1 раз выполниться и более конструктор не будет вызываться. как и Ваш пример, там проблема в ином.
1
|
0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 5
|
|
19.11.2018, 16:17 [ТС] | 8 |
Мне нужно, чтобы в библиотеке лежали определенные объекты, по типу P2314A, с уже инициализированными полями, у каждого объекта они разные, и я, имея доступ к объектам из другой программы, выцеплял бы их поля, допустим, в локальные переменные и совершал бы какие то операции
0
|
Модератор
|
|
19.11.2018, 16:28 | 9 |
Тогда не понял смыла Вашего кода ещё больше.
Статическое поле у Вас возвращает всегда один и тот же объект. НО Вы пишите, что Вам нужны РАЗНЫЕ объекты. Опишите подробнее. ТО что Вы хотите и то, что у Вас в коде - это совершенно разное. Добавлено через 1 минуту Да, Вы правы. Почему-то в голову взбрело, что P2314A - это метод, а не поле. Добавлено через 5 минут Вам надо создавать разные объекты, и уже их хранить и работать с ними. Для чего Вы сделали статическое поля P2314A и t2314 в чём смысл? Вы же хотите чтобы у разных объектов были разные свойства.
0
|
0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 5
|
|||||||||||
19.11.2018, 16:57 [ТС] | 10 | ||||||||||
Спасибо большое, я тупанул, исправил, работает как надо))
Добавлено через 8 минут это все еще на уровне тестов, объекты будут добавляться т.е:
я же не могу создать объект таким образом:
0
|
Модератор
|
|||||||||||||||||||||
19.11.2018, 17:27 | 11 | ||||||||||||||||||||
Мине кажется Вам надо что-то подобное
Создание списка объектов
1
|
19.11.2018, 17:27 | |
19.11.2018, 17:27 | |
Помогаю со студенческими работами здесь
11
Массив как поле класса Массив как поле класса Как запихнуть шахматное поле состоящее из картинок в двумерный массив Большой двумерный массив как член класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |