Estou precisando mostrar todos os membros de uma classe e seus respativos tipos.
Algo tipo isso:
PublicFunctionLeColunasTabela(ByValobjTabelaAsObject)AsArrayDimarrCamposValores(,)AsObjectDimMyTypeAsType=Type.GetType(objTabela.ToString)DimMypropertyinfoarrayAsPropertyInfo()=MyType.GetProperties()'Dimensiona array arrCamposValores = New Object(Mypropertyinfoarray.GetLength(0) - 1, 2) {} For intContadorPropriedades As Integer = 0 To Mypropertyinfoarray.GetLength(0) - 1'Recebe nome da propriedade arrCamposValores(intContadorPropriedades, 0) = Mypropertyinfoarray(intContadorPropriedades).Name'Recebe valor da propriedade arrCamposValores(intContadorPropriedades, 1) = Mypropertyinfoarray(intContadorPropriedades).GetValue(objTabela, Nothing) Next intContadorPropriedades Return arrCamposValores End Function
Desenvolvi várias paradas para agilizar o desenvolvimento, agora preciso implementa-las no JAVA.
System.out.println("------------- Métodos 3 -------------");
try {
Class c = u.getClass();
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++){
//Só invoca o método se o retorno for diferente de void e não possuir parametros
if(!m[i].getReturnType().equals(Void.class) && m[i].getParameterTypes().length <= 0){
Object value = m[i].invoke(u, new Object[0]);
System.out.println(value);
}
}
} catch (Throwable e) {
System.err.println(e);
}
Flw
P
prsantos
Boa tarde a todos.
Voltei depois de quase quinze dias sem máq., agora preciso retomar meu trabalho.
Ainda continuo precisando OBTER o valor de cada uma das propriedades.
Quem pode me ajudar?
F
fre_d
Esta no meu post do dia 29 logo acima.
P
prsantos
Muito obrigado FRED, pois só depois que enviei que ví.
Resolvido isto, preciso criar uma ARRAY MUltidimensional dinâmico. para receber os Métodos e seus Repectivos valores.
Pode me ajudar?
P
prsantos
Depois que tudo estiver pronto, disponibilizarei ao grupo, nossos dias serão maiores depois disso.
'CLEIO EU!"
P
prsantos
Isto tudo é para ser usado aqui:
/* * ManutencaoTabela.java * * Created on 23 de Junho de 2007, 21:01 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */packagebancodados;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjava.util.ArrayList;importjavax.swing.JOptionPane;/** * * @author Paulo Roberto */publicclassManutencaoTabela{publicvoidIncluiRegistro(finalObjectTabela,finalStringNomeTabela,finalConnectionConexao){//}publicvoidAtualizaRegistro(finalObjectTabela,finalStringNomeTabela,finalConnectionConexao){//}publicvoidExcluiRegistro(finalObjectTabela,finalStringNomeTabela,finalConnectionConexao){//}publicvoidExecutaTransacao(finalStringsbSQL,finalConnectionConexao){try{//Prepara transaçãoPreparedStatementpstmt=Conexao.prepareStatement(sbSQL.toString());//Executa procedimentopstmt.executeUpdate();//Consolida transaçãoConexao.commit();//Fecha procedimentopstmt.close();//Fecha conexãoConexao.close();//Mostra String SQLSystem.out.println(sbSQL);}catch(SQLExceptionerrorSQL){JOptionPane.showMessageDialog(null,errorSQL.getMessage(),"Erro SQL",JOptionPane.ERROR_MESSAGE);errorSQL.printStackTrace();}}publicvoidPreparaInclusao(finalObjectTabela,finalStringNomeTabela){}publicvoidLeColunasTabela(finalObjectTabela){//// class Fill3DArray {//////// public static void main (String args[]) {//////// int[][][] M;//// M = new int[4][5][3];//////// for (int row=0; row < 4; row++) {//// for (int col=0; col < 5; col++) {//// for (int ver=0; ver < 3; ver++) {//// M[row][col][ver] = row+col+ver;//// }//// }//// }//////// }//////// }//int[][]CamposValores;CamposValores=newint[0][0];CamposValores[0][0]=0;CamposValores[0][1]=1;CamposValores[0][2]=2;CamposValores[0][3]=3;CamposValores[0][4]=4;CamposValores[1][0]=00;CamposValores[1][1]=11;CamposValores[1][2]=22;CamposValores[1][3]=33;CamposValores[1][4]=44;//ArrayListalCamposValores=newArrayList();alCamposValores.add(0,Tabela);}}
O ALVO por enquanto é "LeColunasTabela"
F
fre_d
Pesquise como se utiliza a classe HashMap.
public HashMap getPropriedadeValor(final Object tabela){