Czy istnieje GUID.TryParse () w .NET 3.5?

AKTUALIZACJA

Guid.TryParse jest dostępny w .NET 4.0

KONIEC AKTUALIZACJI

Oczywiście nie ma publicznego GUID.TryParse () w .NET CLR 2.0.

Tak więc, szukałem wyrażeń regularnych [aka googlających się, aby je znaleźć] i za każdym razem, gdy znalazłem jeden, był gorący argument w sekcji komentarzy na temat RegEx A nie działa, użyj RegEx B. Wtedy ktoś napisałby Regex C yadda yadda

W każdym razie postanowiłem to zrobić, ale źle się z tym czuję.

public static bool IsGuid (string possibleGuid) {

    try {
      Guid gid = new Guid(possibleGuid);
      return true;    
    } catch (Exception ex) {
      return false;
    }
}

Oczywiście tak naprawdę nie podoba mi się to, ponieważ od pierwszego dnia zostało mi to wywiercone, aby uniknąć rzucania wyjątków, jeśli można je obronnie kodować.

Czy ktoś wie, dlaczego nie ma publicznego Guid.TryParse () w .NET Framework?

Czy ktoś ma prawdziwe wyrażenie regularne, które będzie działać dla wszystkich identyfikatorów GUID?

questionAnswers(8)

yourAnswerToTheQuestion