Как вы можете зациклить свойства класса? - PullRequest
47 голосов
/ 25 ноября 2010

Есть ли в c # способ перебрать свойства класса?

По сути, у меня есть класс, который содержит большое количество свойств (в основном он содержит результаты большого запроса к базе данных). Мне нужно вывести эти результаты в виде файла CSV, поэтому необходимо добавить каждое значение в строку.

Очевидный способ вручную добавить каждое значение в строку, но есть ли способ эффективно зациклить объект результатов и по очереди добавить значение для каждого свойства?

Ответы [ 11 ]

0 голосов
/ 25 ноября 2010

это как перебирать свойства в vb.net, это та же концепция в c #, просто перевести синтаксис:

 Dim properties() As PropertyInfo = Me.GetType.GetProperties(BindingFlags.Public Or BindingFlags.Instance)
            If properties IsNot Nothing AndAlso properties.Length > 0 Then
                properties = properties.Except(baseProperties)
                For Each p As PropertyInfo In properties
                    If p.Name <> "" Then
                        p.SetValue(Me, Date.Now, Nothing)  'user p.GetValue in your case
                    End If
                Next
            End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...