Почему не желает создаваться вложенный объект?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Почему не желает создаваться вложенный объект?

Сообщение ANDLL » 27.01.2006 (Пт) 22:11

Код: Выделить всё
public class A
   public class B
   End Class
End Class

Я пытаюсь создать класс через System.AppDomain.CurrentDomain.CreateInstance(Reflection.Assembly.GetCallingAssembly.FullName,"Sol.A")
Вопрос
1) А можно как-то попроще(принципиально важно что тип объекта задается динамически(string'ом или type'ом).
2) Собственно самое главное, почему не создаеся так:System.AppDomain.CurrentDomain.CreateInstance(Reflection.Assembly.GetCallingAssembly.FullName,"Sol.A.B")
Т.е. получается что нельзя создать вложенный объект. Почему?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 27.01.2006 (Пт) 22:53

А какова конечная цель данной махинации? Я не понял, чего тебе надобно :)
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 27.01.2006 (Пт) 23:03

Мне надо по имени класса, сохраненному в текстовой переменной создать экземпляр этого класса.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 27.01.2006 (Пт) 23:36

Public Function CreateInstance(ByVal typeName As String) As Object
Member of System.Reflection.Assembly


'''''''''''
Reflection.Assembly.GetExecutingAssembly.CreateInstance
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 28.01.2006 (Сб) 9:37

То же самое. Вложенные объекты не создаются. :(
Что за хрень :?:
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.01.2006 (Сб) 10:19

А почему вложенные объекты должны создаваться? У них область видимости ограничена родительским объектом. Их нет, забудь о них.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 28.01.2006 (Сб) 10:34

Можно написать
Dim B as new A.B
И все работает... Т.е. с помощью оператора new создавать их можно...
А почему подругому нельзя?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.01.2006 (Сб) 11:49

Да, чё-то я протупил...

System.Reflection.Assembly.GetExecutingAssembly.CreateInstance("WindowsApplication1.A+B")
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 28.01.2006 (Сб) 13:11

Ух ты! Спасибо, заработало.
А почему плюс? Где ты это нашел?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.01.2006 (Сб) 13:15

Где, где...

MsgBox((New A.B).GetType.FullName)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 28.01.2006 (Сб) 14:12

Понятно. Ну а почему всетаки плюс а не точка?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 36

    TopList  
cron