Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Господа ООПисты, нужна помощь Добавлено: 03.11.08 17:44  

Автор вопроса:  Vugar Miriyev | Web-сайт: www.novadotnet.com | ICQ: 321950466 
Как определить тип единицы класс возвращенного в виде массива т.е

Dim obj as Object
dim MyCl as MyClass

Dim subproperties As System.Reflection.PropertyInfo() = MyCl.[GetType]().GetProperties()
For Each osubPropertyInfo As System.Reflection.PropertyInfo In subproperties
if osubPropertyInfo.basetype.name="Array" then

'здесь нужно получить инстанс класса из которых состоит массив
end if
Next

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 03.11.08 20:16
  1.  
  2.             Assembly assembly = Assembly.GetExecutingAssembly();
  3.             Type type = typeof(TestClass);//
  4.             PropertyInfo[] properties = type.GetProperties();
  5.             foreach (PropertyInfo prop in properties)
  6.             {
  7.                 Type propType = prop.PropertyType;
  8.                 if (propType.IsArray)
  9.                 {
  10.                     /* отбрасываем 2 последних симовла [] || ()
  11.                      * и получаем название типа */
  12.                     string typeName = propType.FullName;
  13.                     int length = typeName.Length;
  14.                     typeName = typeName.Substring(0, length - 2);
  15.  
  16.                     /* такой фокус сработает только в том случае,
  17.                      * если класс имеет public конструктор без параметров.
  18.                      * Иначе надо будет заморачиваться с получением
  19.                      * ConstructorInfo и передавать дополнительные параметры и флаги BindingFlags */
  20.                     Object instance = assembly.CreateInstance(typeName);
  21.                 }
  22.             }

Ответить

Номер ответа: 2
Автор ответа:
 Vugar Miriyev



ICQ: 321950466 

Вопросов: 24
Ответов: 28
 Web-сайт: www.novadotnet.com
 Профиль | | #2
Добавлено: 03.11.08 20:24
:)
Спасибо EROS, как ни странно или программисты на самом деле думают одинаково или они просто вынуждены пользоваться тем инструментарием, который им доступен. В любом случае хороший программист это тот который может выходить из любой ситуации. Я это к тому, что пока я ждал ответа я сделал именно то, о чем ты говорил, но мне кажется странным что приходиться прибегать к таким методам. Еще раз спасибо, форум как всегда не разочаровал, значит ребята здесь тусуются профессионалы.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам