2010-02-04 16 views

Odpowiedz

22

Nie, to jest:

Guid? foo = new Guid(myString); 

Jest niejawna konwersja z T do Nullable<T> - nie trzeba robić nic specjalnego. Lub jeśli nie jesteś w sytuacji, w której niejawna konwersja będzie działać (np starasz się wywołać metodę, która ma przeciążeń dla typów zarówno pustych i bez pustych), można go obsada:

(Guid?) new Guid(myString) 
+0

Dziwne, jak Guid nie analizuje ani nie próbuje metod. –

+0

@David: Zgoda. –

+2

@David: Nadchodzą .NET 4, lepiej późno niż wcale! http://msdn.microsoft.com/en-us/library/system.guid_members%28VS.100%29.aspx – LukeH

4

po prostu rzuciłem: (Guid?) (Nowy Guid (myString))

jest również domniemana obsada, więc to też będzie działało dobrze: Guid? g = new Guid (myString);