Sto utilizzando l'eccellente libreria FileHelpers per elaborare un file di pianificazione della compagnia aerea a lunghezza fissa.C# - Can FileHelper Le routine FieldConverter si riferiscono ad altri campi nel record?
Ho un campo data, quindi alcuni campi più avanti nel record, un campo orario.
Desidero combinare entrambi nella classe di record FileHelpers e sapere che esiste un attributo personalizzato FieldConverter
. Con questo attributo, si fornisce una funzione personalizzata per gestire i dati sul campo e implementare StringToField
e FieldToString
.
La mia domanda è: posso passare altri campi (già letti) a questo cliente FieldConverter
, quindi posso combinare Data e ora insieme. FieldConverter
ha un'implementazione che consente di fare riferimento sia a una classe di elaborazione personalizzata AND 'altre stringhe', sia a una matrice di oggetti. Ma dato che questo viene fatto nella definizione dell'attributo, sto facendo fatica ad accedere a questo riferimento di campo precedente.
[FieldFixedLength(4)]
[FieldConverter(typeof(MyTimeConverter),"eg. ScheduledDepartureDate")]
public DateTime scheduledDepartureTime;
realtà , mentre sono ancora interessato alla domanda, ho trovato una risposta. Avevo dimenticato che l'intero disco è in realtà una classe, quindi posso creare un costruttore e impostare qualsiasi membro combinato che voglio lì ... aaarrrrgggghh così semplice. – Pete