Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 18.05.2010
Сообщений: 56

Доступ к коллекции из другова класса

25.05.2013, 08:55. Показов 3196. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возникла проблема, не могу найти решение. Имеется коллекция созданная с основном классе. Необходимо получить к ней доступ из другого класса. Подскажите пожалуйста как можно это осуществить.

C#
1
2
3
4
5
6
public partial class MainWindow : Window
   {
        public static List<Sound> Collection = new List<Sound>();
        
        .....
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2013, 08:55
Ответы с готовыми решениями:

Доступ к коллекции из другого класса
Есть коллекция. ArrayList objectList = new ArrayList(); как находясь в другом классе добавить элемент в эту коллекцию?

Доступ из элемента коллекции к другим элементам коллекции
Подскажите как получить данные из другого элемента коллекции? В приведенном примере необходимо реализовать метод который бы брал значение...

Доступ к членам коллекции
имеем private class Klass1 { public int pole1; public int pole2; public int pole3; }

14
 Аватар для pizurok
77 / 69 / 20
Регистрация: 05.05.2013
Сообщений: 3,810
25.05.2013, 10:00
В вашем случае из другова можно обратиться так:
C#
1
2
Sound s = new Sound();
MainWindow.Collection.Add(s);
Правда это справедливо, если оба класса в одном пространстве имен, иначе нужно использовать директиву using
1
2 / 2 / 1
Регистрация: 18.05.2010
Сообщений: 56
25.05.2013, 11:19  [ТС]
Цитата Сообщение от pizurok Посмотреть сообщение
В вашем случае из другова можно обратиться так:
C#
1
2
Sound s = new Sound();
MainWindow.Collection.Add(s);
Правда это справедливо, если оба класса в одном пространстве имен, иначе нужно использовать директиву using
К сожалению этот вариант не работает.
0
 Аватар для pizurok
77 / 69 / 20
Регистрация: 05.05.2013
Сообщений: 3,810
25.05.2013, 11:32
Цитата Сообщение от mixail135 Посмотреть сообщение
К сожалению этот вариант не работает.
Лог ошибки в студию
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.05.2013, 11:33
mixail135, куда передать-то нужно?
0
2 / 2 / 1
Регистрация: 18.05.2010
Сообщений: 56
25.05.2013, 11:33  [ТС]
Цитата Сообщение от pizurok Посмотреть сообщение
Лог ошибки в студию
По прежнему нет доступа к коллекции.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.05.2013, 11:35
Вопрос №2: нужно только добавлять?
0
2 / 2 / 1
Регистрация: 18.05.2010
Сообщений: 56
25.05.2013, 11:36  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
mixail135, куда передать-то нужно?
Пробросить коллекцию (не создать новый экземпляр а пробросить именно коллекцию с внесёнными данными) в другой класс.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.05.2013, 11:37
mixail135, ну блин, покажите этот класс, например, конструктор. Это другая форма или что? Клещами не очень приятно информацию доставать.
0
2 / 2 / 1
Регистрация: 18.05.2010
Сообщений: 56
25.05.2013, 11:37  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
Вопрос №2: нужно только добавлять?
Необходимо непосредственно работать с данными объектов коллекции.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.05.2013, 11:39
mixail135, я не понимаю, что мешает написать
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private list<int> blabla = ...;
void Foo()
{
   var myclass = new MyClass(blabla);
}
 
 
class MyClass
{
   private List<int> bla;
  
   public MyClass(List<int> bla)
   {
      this.bla = bla;
   }
}
0
 Аватар для pizurok
77 / 69 / 20
Регистрация: 05.05.2013
Сообщений: 3,810
25.05.2013, 11:39
Переименуйте название объекта, ибо Collection - один из стандартных классов .NET
0
2 / 2 / 1
Регистрация: 18.05.2010
Сообщений: 56
25.05.2013, 11:43  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
mixail135, я не понимаю, что мешает написать
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private list<int> blabla = ...;
void Foo()
{
   var myclass = new MyClass(blabla);
}
 
 
class MyClass
{
   private List<int> bla;
  
   public MyClass(List<int> bla)
   {
      this.bla = bla;
   }
}
На другую форму перекидывается без труда, ибо наследование, а в новый класс не получается. Сам класс еще пустой т.к вся работа в нём заключается в оперировании данными из коллекции.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.05.2013, 11:44
mixail135, я не понимаю вас. Форма от любого другого класса ничем не отличается. С чего бы ей "Работать", а другим классам - "не работать"? В чем Б-гоизбранность форм?
0
 Аватар для pizurok
77 / 69 / 20
Регистрация: 05.05.2013
Сообщений: 3,810
25.05.2013, 12:03
Цитата Сообщение от mixail135 Посмотреть сообщение
Необходимо непосредственно работать с данными объектов коллекции.
Похоже класс Sound иееет закрытые данные.

И вообще на будущее: если вы хотите, чтобы вам помогли (безвозмездно!), будьте так добры, научитесь подробно описывать суть задачи, и, самое главное, логи ошибок скидывайте сюда. Есть такое окошко в VS, которое называется Error List, вот там можно посмотреть логи ошибок. Без логов ошибок очень сложно понять суть проблемы. Может быть, вы не поставили символ ';' и у вас возникают проблемы при компиляции.

Потребительский подход ("Они должны мне помочь полюбасу, ща спрошу тут они поймут сразу") не лучший вариант. Тут не вы помогаете а вам, поэтому относитесь к людям с уважением и вежливостью

Добавлено через 2 минуты
Цитата Сообщение от mixail135 Посмотреть сообщение
На другую форму перекидывается без труда, ибо наследование, а в новый класс не получается. Сам класс еще пустой т.к вся работа в нём заключается в оперировании данными из коллекции.
Прекращайте пудрить людям мозги и скиньте, наконец, полный код обоих классов (за вычетом того, что не относится к делу)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.05.2013, 12:03
Помогаю со студенческими работами здесь

Доступ к объекту из коллекции Shapes
Не могу сформировать точно, но попробую) Я на Bing Maps создаю слой MapShapeLayer: MapShapeLayer Layer = new MapShapeLayer(); Этот...

Обезопасить доступ к коллекции из разных потоков
станет ли безопасным метод AddSafe? public static MyCollection myCol = new MyCollection(); class MyCollection:...

Одновременный доступ к коллекции из двух потоков
Здравствуйте. В программе открываю UDP-сокет, в который приходят данные с устройства. Вкратце, у меня выглядит это так: public void...

Доступ к коллекциям в коллекции коллекций List<T>
Помогите разобраться с доступом к коллекции в list&lt;list&lt;T&gt;&gt; Компиляцию проходит, но при выпонении на первой итерации выдает исключение ...

Создать экземпляр метода класса или доступ к методу из экземпляра класса
Всем доброго времени суток!) Уже месяца как 2 не сишарпил и подзабыл...собственно задача такая: Создать отдельный экземпляр класса для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru