ciao,
dato che non puoi assegnare null ad un Guid perché si tratta di un
value-type, puoi pur sempre ricorrere al suo valore "speciale" Guid.Empty, che può essere comunque inteso come assenza di valore.
Vedo che stai creando UserId come parametro opzionale. Sfortunatamente
non puoi usare Guid.Empty lì perché i valori di default dei parametri devono essere delle costanti a compile time (e Guid.Empty non è dichiarato come const dal .NET Framework).
Questo produrrà un errore di compilazione:
public static List<Rapportino> getRapportini(this Boolean chiuso, Guid UserId = Guid.Empty)
Dunque quello che puoi fare è crearti un overload di getRapportini. In questo modo avrai una funzione che accetta solo il booleano e un'altra che vuole anche il Guid.
public static List<Rapportino> getRapportini(this Boolean chiuso){
chiuso.getRapportini(Guid.Empty);
}
public static List<Rapportino> getRapportini(this Boolean chiuso, Guid UserId){
if (UserId == Guid.Empty){
//faccio qualcosa nel caso in cui lo userid non sia stato fornito
}
}
In alternativa, potresti cambiare il tipo da Guid a Nullable<Guid> o, in maniera più concisa, porre il punto interrogativo come suffisso del tipo: Guid?
In questo modo il Guid può ricevere il valore null.
public static List<Rapportino> getRapportini(this Boolean chiuso, Guid? UserId = null)
Se un Guid è stato fornito, la proprietà UserId.HasValue sarà true e a quel punto potrai estrarre il valore con UserId.Value.
fabal ha scritto:
List<Rapportino>
Vedo che sei un sostenitore dell'
ubiquitous language, bravo :)
ciao,
Moreno
Modificato da BrightSoul il 03 maggio 2014 14.26 -