Perchè quando ci vuole, ci vuole... Reflection :-)

Avete mai avuto l'esigenza di conoscere l'indice di una riga (una DataRow, per intenderci) all'interno della DataTable che la contiene? Ebbene, se vi fosse capitato, vi sareste accorti che la classe DataRow non espone alcun membro che fornisca questo dato. Ma ne siamo proprio sicuri? In verità, non esiste un membro pubblico che fornisca questa info ma ricorrendo ad un po' di malizia e, soprattutto, a Reflection possiamo utilizzare il campo privato rowID:

DataRow unaRiga = unaDataTable.NewRow();
FieldInfo rowFieldsInfo = typeof(DataRow).GetField("rowID", BindingFlags.NonPublic | BindingFlags.Instance);
int rowId = (int) rowFieldsInfo.GetValue(unaRiga);

posted @ venerdì 28 novembre 2003 18:40

Print

Comments on this entry:

No comments posted yet.

Your comment:



 (will not be displayed)


 
 
 
Please add 7 and 8 and type the answer here:
 

Live Comment Preview:

 
«ottobre»
domlunmarmergiovensab
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456