Radical: Ensure, un altro update :-)
Sfruttando le “fluent interfaces” e i tricks per costruirle ho ridotto lo scope di un paio di metodi di Ensure
Adesso il metodo Named( … ) compare solo se non avete ancora chiamato nessun metodo che invochi la validazione in modo da evitare che sia possibile attribuire un nome al parametro che state validando dopo che una validazione è già stata eseguita, in questo modo c’è la certezza che ogni exception che possa venire sollevata contiene il nome del parametro incriminato.
All’inizio il metodo è disponibile:
mentre dopo la prima validazione non lo è più:
Al prossimo giro ci sarà anche la possibilità di agganciare un’infratruttura di log che verrà invocata prima della generazione di ogni exception.
Purtroppo c’è anche una breaking change, è cambiata la firma di un metodo:
da: ThenThrow( Func
a: ThenThrow( Func
.m