powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как проверить существование типа?
11 сообщений из 11, страница 1 из 1
Как проверить существование типа?
    #38246713
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.

Есть несколько классов. Перед созданием объекта на основе этого класса надо проверить а доступна ли сама сборка с определением этого класса и есть ли внутри неё определение класса с таким именем. (Код создания объекта формируется в строке и запускается через свой Evaluate метод).

Так вот, есть строка с названием класса, надо проверить а возможноли создать объект на основе этого класса или определение класса не доступно (напр. класс ещё просто не написан).
Как сие проще реализовать?

Спасибо.
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246717
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko, проще всего обойтись без проверок. Пробуешь выполнить свой динамический код и ловишь исключения.
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246718
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

так и зделано,
но хотелось бы чего то более осмысленного
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246723
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko, что именно ты подразумеваешь под "более осмысленным"?
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246729
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

Ловить исключения считается плохим стилем, насколько мне известно.
В делфях я знал как проверить наличие определения класса в юните а c# вот гуглю и доку смотрю но пока не нашел.
Но думаю есть наверняка.
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246731
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

Если надо найти какой то класс в сборке , обычно используют рефлексию. перебирают все имена, пока не будет совпадения.
Пробовали?
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246734
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-er,

Там сборок многовато да и заранее не известны их имена (тоже цепляются из базы и динамически).
Сложновато получается.
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246736
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkobeg-in-er,

Там сборок многовато да и заранее не известны их имена (тоже цепляются из базы и динамически).
Сложновато получается.
да не должно быть ничего сложного.

1. прилетают имена сборок.
2. Тащим по именам эти сборки на рефлексию
3. вытряхиваем их на наличие того или иного класса.
4. ....
5.профит!
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246737
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail TchervonenkoЛовить исключения считается плохим стилем, насколько мне известно.
Глупость. Ты выполняешь код который может сгенерировать исключение, ожидаешь их и готов их обработать. Ничего плохого здесь нет.

Mikhail TchervonenkoВ делфях я знал как проверить наличие определения класса в юните а c# вот гуглю и доку смотрю но пока не нашел.
В .NET это делается через механизм Reflection, но в данной ситуации он тебе не нужен т.к. не несет пользы.
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38246741
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

ок, всем спасибо
...
Рейтинг: 0 / 0
Как проверить существование типа?
    #38247316
SerP1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как проверить существование типа?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]