Quello che vuoi fare è possibile e abbastanza normale, deve esserti sfuggito qualcosa.
Sarebbe meglio evitare di leggere da scanner all'interno del costruttore a livello di design, se dici che la stringa viene letta in precedenza però va bene.

Posta il codice che non funziona e vediamo di aiutarti