Jeg har lavet en metode: public List<User> GetAllUsers(Guid RoleId)
som returnerer alle brugere som er i den rolle som sendes med som argument. Jeg har skrevet metoden sådan, at sendes null som reference vil den vælge alle brugere i hele systemet.
Derfor har jeg lavet metoden public List<User> GetAllUsers() { return this.GetAllUsers(null); }
Hvilket compileren ikke vil lade mig gøre... Hvordan er det muligt at lave dette "trick"?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
"The Guid Structure Globally Unique Identifiers can be generated using the .NET framework's Guid structure within the System namespace. Note that this is a structure, not a class, so is a value type. This also means that Guids cannot be assigned a null value."
I det Guid er en value-type kan du jo bare gøre den nullable. Så hvis du ændrer din GetAllUsers metode til noget lignende nedenstående, kan du fint kalde den med null som parameter:
public List<User> GetAllUsers(Guid? RoleIdNullable) { //Tester og RoleIdNullable er null if (!RoleIdNullable.HasValue) return new List<User>();
Guid RoleId = RoleIdNullable.Value;
return new List<User>(); }
Bemærk det lille spørgsmålstegn "?" efter Guid i input paramter-datatypen. ? er bare kort for Nullable<Guid> så man kunne også skrive:
public List<User> GetAllUsers(Nullable<Guid> RoleIdNullable) { ..... }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.