|
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
|
||||||
Создать переменную типа, хранящегося в переменной типа Type28.08.2017, 09:29. Показов 6380. Ответов 7
Метки нет (Все метки)
Здравствуйте.
Гугл не помог, потому обращаюсь за помощью к вам. Пишу загрузку (не важно чего) из файла, данные хранятся в формате строки и, когда я считываю одно слово - оно является названием типа в моём приложении, после чего через Type.GetType(string typeName) я получаю сам тип (https://msdn.microsoft.com/ru-... .110).aspx), но возможно ли как то создать переменную этого типа? (это мне и надо) если непонятно, то вот пример:
О, придумал, наконец то, как адекватно сказать: мне нужно использовать содержимое строки как тип для создания экземпляра класса
0
|
||||||
| 28.08.2017, 09:29 | |
|
Ответы с готовыми решениями:
7
Предполагается ли в C# синтаксис для создания переменной того типа, который указан в переменной Type type
|
|
14093 / 9310 / 1349
Регистрация: 21.01.2016
Сообщений: 34,969
|
|
| 28.08.2017, 09:41 | |
|
Nordicus666, создать-то можно (через Activator.CreateInstance), но как вы дальше с данным объектом работать собрались? Ведь полученный объект будет типа Object и вам с ним или через рефлексию работать или приводить к нужному типу, а это значит, что нужно знать тип данного объекта.
Добавлено через 1 минуту Количество типов во входном файле фиксировано? Или могут быть произвольные типы?
0
|
|
|
Администратор
|
||
| 28.08.2017, 09:44 | ||
|
Nordicus666, Type.GetType("...") ожидает полное имя типа - с пространством имен и именем сборки, если тип не в текущей сборке.
0
|
||
|
|
||||||
| 28.08.2017, 11:23 | ||||||
|
Nordicus666, может так:\
1
|
||||||
|
14093 / 9310 / 1349
Регистрация: 21.01.2016
Сообщений: 34,969
|
|
| 28.08.2017, 11:27 | |
|
skilllab, такое проканает, если все создаваемые объекты имеют общего предка и вся работа будет идти только через него.
0
|
|
|
14093 / 9310 / 1349
Регистрация: 21.01.2016
Сообщений: 34,969
|
|||
| 28.08.2017, 14:10 | |||
Activator.CreateInstance. Но вот привести полученный Object к нужному типу уже не получится ибо на этапе компиляции мы о типе ничего не знаем. Можно, конечно, извернуться и продолжить эксплуатировать рефлексию: найти поле\свойство того же типа в нужном классе и присвоить вновь созданный объект этому полю. Но это дичь полная.
0
|
|||
|
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
|
|
| 28.08.2017, 17:09 [ТС] | |
|
Activator.CreateInstance помог, огромное спасибо, не знал, что такое есть вообще, очень удобно, что можно написать просто текущий namespace, затем точку, затем переменную типа string, содержащую имя класса и он тебе создаст экземпляр этого класса (разве что явное приведение сделать да и всё), буду теперь знать про такое. Ещё раз огромное спасибо, проблема решена.
0
|
|
| 28.08.2017, 17:09 | |
|
Помогаю со студенческими работами здесь
8
Записать адрес переменной произвольного типа в переменную типа int
Как сравнить переменную типа String с переменной типа Int? Перенос данных из переменной одного типа в переменную другого типа Получить из переменной типа uint32_t* переменную типа char* Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение
Это мой обзор планшета X220 с точки зрения школьника.
Недавно я решила попытаться уменьшить свой. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|