22/01/2014

Pegar campos de uma Classe com for each

Olá tenho uma classe Seguimento e gostaria de saber quais campos (variaveis) formam ela através de um FOR EACH?

Public Class Seguimento

Public Shared codigo As String = ""
Public Shared descricao As String = ""

End Class

Nexte caso o for each deve me mostrar a variável campo (CODIGO E DESCRIÇÃO) preciso do nome dos campos e não conteúdo

Alguma ideia?

At,

stewart

Stewart Teles

Respostas

22/01/2014

Chiodini

Fala amigo.


            PropertyInfo[] obj = new Seguimento().GetType().GetProperties();

            foreach (PropertyInfo propriedade in obj)
            {
                MessageBox.Show(propriedade.Name);
            }
Responder Citar

22/01/2014

Joel Rodrigues

Pesquise sobre reflection, serve exatamente para isso que você quer
Responder Citar

22/01/2014

Stewart Teles

Agradeço muito mais o código poderia ser em vb.net, agradeceria demais pois em c# tem coisas que realmente falta estudo da linguagem, já no vb.net muito tranquilo.

At,

STEWART
Responder Citar

22/01/2014

Stewart Teles

Coloquei o código assim:

Dim obj As PropertyInfo() = New Seguimento().[GetType]().GetProperties() ' Erro nesta linha: Error 1 Type 'Seguimento.GetType' is not defined.


For Each propriedade As PropertyInfo In obj
MessageBox.Show(propriedade.Name)
Next


Minha classe esta assim:

Public Class classeed

Public Class Seguimento

Public Shared codigo As String = ""
Public Shared descricao As String = ""


End Class


End Class
Responder Citar

22/01/2014

Stewart Teles

Coloquei o código assim:

Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim obj() As PropertyInfo = GetType(classeed.Seguimento).GetProperties()

For Each propriedade As PropertyInfo In obj
MsgBox(propriedade.Name)
Next

End Sub

Mais ele não mostra nada no msgbox pois não acha nenhuma propriedade dos campos da classe
Responder Citar

22/01/2014

Stewart Teles

Pessoal consegui aqui valeu se desejarem posto o código completo

AGRADEÇO PELA DICA AI

Abraços

STEWART
Responder Citar

23/01/2014

Chiodini

Posta sim,
sempre é bom para alguem que tenha o mesmo problema.

valew
Responder Citar