Originariamente inviato da maurodefilippis
Ok, grazie.

ho semplificato la funzione .
era un po ingarbugliata perchè ho fatto diversi tentativi.

Il mio errore era che appunto usavo i campi e non le proprietà ed ho corretto (grazie).

Ora la funzione in pratica è la seguente

codice:
  
private bool getRecordFieldAsString(T data, string Key, out string campoLetto)         
{              
        PropertyInfo pi = data.GetType().GetProperty(Key);
        campoLetto = pi.GetValue(data);

// controlli vari...
// ecc ecc
// ritorno funzione in base ai controlli..

}
però su questo porzione di codice mi da errore sul GetValue

Nessun Overload del Metodo 'GetValue' accetta argomenti '1'

Il parametro data è di tipo generico T (classe generica e nel mio caso T sarebbe il tipo User )....altrimenti accederei direttametne alla proprietà ..

che può essere?... nella definizione di GetValue...c'è anche quella con un solo parametro...ma non mi da errore.
Figurati.

per risponderti al meglio dovrei vedere il resto della classe, così rilevo 2 errori, ovvero :

codice:
getRecordFieldAsString<T>(T data, string Key, out string campoLetto)
a meno che non sia la tua classe a definire T (class MiaClasse<T>)

mentre il secondo è che manca il cast da object a string :
codice:
campoLetto = (string)pi.GetValue(data);
ma questo :
Nessun Overload del Metodo 'GetValue' accetta argomenti '1'
non dovrebbe esserci...
prova a postare il resto della classe.