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

Распаковать объект типа Object

13.05.2023, 22:29. Показов 432. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем . . . прежде всего спросил гугла(cyberforum распаковка object c#) - он нашел всего 1 тему и не то . . . поэтому тут спрашиваю как решить . . . Упаковал в тип Objct 2 класса и (для примера) тут же распаковал - проблем нет. Потом передал этот объект как аргумент пользовательского события в другую форму, получил оттуда объект типа Object где в подсказке видно 2 класса - но их нельзя оттуда вытащить
C#
1
2
3
4
5
      Class1 class1 = new Class1() { FirstName = "Bob" };
      Class2 class2 = new Class2() { LastName = "Sam" };
      Object[] obj = { class1, class2 };
      //распаковка без проблем
      var v1 = (Class1)obj[0];
//-----------------------------------------------------
C#
1
2
3
4
5
6
      //тут проблем нет: в obj содержится два класса
      Object obj = e.SendingData; //obj = {object[2]} //[0] = {WinFormsApp1.Class1} // [1] = {WinFormsApp1.Class2}
 
      //вот тут ОШИБКА с распаковкой на этапе компиляции
      //ОШИБКА - не удается применить индексирование к объекту Object
      var v1 = (Class1)obj[0]; //ОШИБКА
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2023, 22:29
Ответы с готовыми решениями:

Есть объект такого типа object{object[]}
Как получить доступ к внутреннему объекту? Среда - Visual Studio 2010 Обрабатываю событие из COM объекта: void...

Ссылка типа object на объект класса
using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void...

Напишите функцию печати массива, принимающую в качестве параметра объект типа Object
Здравствуйте. Помогите пожалуйста с заданием: "Напишите функцию печати массива, принимающую в качестве параметра объект типа Object." ...

4
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
13.05.2023, 22:52
Лучший ответ Сообщение было отмечено DLD как решение

Решение

Попробуйте заменить:
C#
1
Object obj = e.SendingData;
на
C#
1
var obj = (object[])e.SendingData;
1
5 / 4 / 2
Регистрация: 24.09.2016
Сообщений: 423
13.05.2023, 23:09  [ТС]
IamRain, спасибо . . . получилось . . . с первого раза
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
13.05.2023, 23:42
DLD, в приведенных вами примерах нет упаковки и распаковки. Упаковка это преобразование значения значимого типа в object. Обратная операция называется распаковкой. У вас тут везде классы - ссылочные типы. Это важно пояснить потому что вы гуглили совсем не то что нужно.
4
5 / 4 / 2
Регистрация: 24.09.2016
Сообщений: 423
14.05.2023, 00:33  [ТС]
OwenGlendower, спасибо за пояснение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2023, 00:33
Помогаю со студенческими работами здесь

Создать новый объект того же типа, что существующий объект неизвестного типа
Можно ли создать новый объект того же типа, что существующий объект неизвестного типа? Есть некий объект obj1 Нужно создать новый...

Вывести переменную типа string в консоль: Object reference not set to an instance of an object
Вот такой сабж. Пытаюсь вывести переменную типа стринг в консоль Сначала, как обычно for (int ii = 0; ii <...

Создать объект неизвестного типа по полученному string-имени типа
У меня есть тип объекта, который нужно создать, получаю я его примерно вот так string nameType = GetNameType(); Type myType =...

Приведение переменной типа object к переменной производного типа в приложенном коде
Добрый день! Столкнулся с проблемой. Есть обработчик события. Обработчик события общий для двух издателей, но издатели разного типа(Пусть...

Извлечение из объекта object объект byte[]
Добрый день. Есть массив object, первый его элемент - byte (насколько я понял из отладки). Как этот массив byte вынести в отдельную...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru