2010-01-18 1 views
0

Мой код ошибки:asp.net получить сильно типизированных из строки

string model = "Content"; 
Type stype = Type.GetType("mvc.Models." + model); 
ViewPage<stype> vp = new ViewPage<stype>(); 

Конечно ошибка это при компиляции, но это ясно показывает, что я имею в виду. Я могу сделать это?

+0

Eh, я вижу код здесь, а не код ошибки ... – terR0Q

+0

Я не могу его скомпилировать, так что это ошибка или нет? Ошибка Не удалось найти тип или тип пространства имен 'stype' (вам не хватает директивы using или ссылки на сборку?) – complez

+0

Ну, читайте свой код, вы уверены, что есть «mvc.Models.Content» тип, доступный в вашем проекте? – terR0Q

ответ

2

Эта функция GetType нуждается в assembly-qualified name, а не только в пространстве имен, как вы указали.

+0

Я так не думаю, потому что я могу сделать это без ошибок Models.Content c = (Models.Content) Type.GetType ("mvc.Models.RSSContent"). InvokeMember ("" , BindingFlags.CreateInstance, null, null, null); RSSContent inherit from Content – complez

+0

Я не уверен, но то, что вы пытаетесь сделать, может оказаться за пределами языковых конструкций. Кажется, что когда вы кодируете буквально Тип, будь то тип dec или явный притвор, он работает. Я подозреваю, что компилятор не любит определять явный тип из переменной типа времени выполнения, и поэтому вы получаете сообщение сборки. –

 Смежные вопросы

  • Нет связанных вопросов^_^