Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Вопрос по ООП Добавлено: 14.10.08 15:28  

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

Ответить

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

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



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 14.10.08 16:40
Хм... когда возникают подобные желания, это, как правило, говорит о неправильном подходе к решению задачи. Давай начнем с другого конца.. постарайся описать задачу которую ты хочешь решить таким нетрадиционным способом.

Ответить

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



ICQ: 321950466 

Вопросов: 24
Ответов: 28
 Web-сайт: www.novadotnet.com
 Профиль | | #2
Добавлено: 14.10.08 16:48
Задача как задача и вот её реализация если интересено:
Dim oPerson As UserCl
oPerson = CurrentUser()

Dim properties As System.Reflection.PropertyInfo() = oPerson.[GetType]().GetProperties()
For Each oPropertyInfo As System.Reflection.PropertyInfo In properties

Console.WriteLine(oPropertyInfo.Name)
Next


В любом случае спасибо за желание помочь.

Ответить

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



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 14.10.08 20:40
Задача как задача

Не согласен.. это не рядовая задача, тем более в собственном приложении. К рефлексии прибегают в случае если это не твои классы, либо к ним нету доступа (например защищенные методы класса), но насколько я понял, ты таким образом обращаешься к собственным классам, поэтому я это расцениваю как ошибку архитектуры. Более того.. рефлексия - это довольно тормозная и дорогостоящая операция и при некорректном использовании может существенно снизить производительность.

В любом случае - дело твое..

Ответить

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



ICQ: 321950466 

Вопросов: 24
Ответов: 28
 Web-сайт: www.novadotnet.com
 Профиль | | #4
Добавлено: 14.10.08 21:32
Информация для размышления, Спасибо еще раз.

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 18.10.08 03:23
Получение метаданных - не слишком дорогостоящая операция.
С другой стороны, сценарий действительно нестандартный, пока что приходит в голову - некий OR-преобразователь... Хотя я бы все же в OR использовал кодогенерацию.

2 EROS - как раз через эту штуку (точнее через DataBinder.Eval, хотя "под капотом" у него именно то же самое) работает датабиндинг в ASP .NET, так чтоб не такая уж это и плохая штука :)

Ответить

Номер ответа: 6
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #6 Добавлено: 21.10.08 01:55
что мешает использовать NameValueCollection ???

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 28.10.08 01:25
Здесь более эфективно будет даже не NameValueCollection а Dictionary(Of String, Object)

Ответить

Страница: 1 |

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



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