|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
Доброе время суток. Есть несколько классов. Перед созданием объекта на основе этого класса надо проверить а доступна ли сама сборка с определением этого класса и есть ли внутри неё определение класса с таким именем. (Код создания объекта формируется в строке и запускается через свой Evaluate метод). Так вот, есть строка с названием класса, надо проверить а возможноли создать объект на основе этого класса или определение класса не доступно (напр. класс ещё просто не написан). Как сие проще реализовать? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 17:33 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
Mikhail Tchervonenko, проще всего обойтись без проверок. Пробуешь выполнить свой динамический код и ловишь исключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 17:40 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
bazile, так и зделано, но хотелось бы чего то более осмысленного ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 17:40 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
Mikhail Tchervonenko, что именно ты подразумеваешь под "более осмысленным"? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 17:48 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
bazile, Ловить исключения считается плохим стилем, насколько мне известно. В делфях я знал как проверить наличие определения класса в юните а c# вот гуглю и доку смотрю но пока не нашел. Но думаю есть наверняка. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 17:56 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
Mikhail Tchervonenko, Если надо найти какой то класс в сборке , обычно используют рефлексию. перебирают все имена, пока не будет совпадения. Пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 17:58 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
beg-in-er, Там сборок многовато да и заранее не известны их имена (тоже цепляются из базы и динамически). Сложновато получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 18:01 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
Mikhail Tchervonenkobeg-in-er, Там сборок многовато да и заранее не известны их имена (тоже цепляются из базы и динамически). Сложновато получается. да не должно быть ничего сложного. 1. прилетают имена сборок. 2. Тащим по именам эти сборки на рефлексию 3. вытряхиваем их на наличие того или иного класса. 4. .... 5.профит! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 18:05 |
|
Как проверить существование типа?
|
|||
---|---|---|---|
#18+
Mikhail TchervonenkoЛовить исключения считается плохим стилем, насколько мне известно. Глупость. Ты выполняешь код который может сгенерировать исключение, ожидаешь их и готов их обработать. Ничего плохого здесь нет. Mikhail TchervonenkoВ делфях я знал как проверить наличие определения класса в юните а c# вот гуглю и доку смотрю но пока не нашел. В .NET это делается через механизм Reflection, но в данной ситуации он тебе не нужен т.к. не несет пользы. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2013, 18:06 |
|
|
start [/forum/topic.php?fid=20&msg=38246723&tid=1404747]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
100ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 346ms |
total: | 552ms |
0 / 0 |