Oto prosta metoda rozszerzenie dla Nidlable Guid.
/// <summary>
/// Determines if a nullable Guid (Guid?) is null or Guid.Empty
/// </summary>
public static bool IsNullOrEmpty(this Guid? guid)
{
return (!guid.HasValue || guid.Value == Guid.Empty);
}
UPDATE
Jeśli naprawdę chciał to wykorzystać wszędzie można napisać inną metodę rozszerzenia dla zwykłego GUID. To nigdy nie może być puste, więc niektórym się to nie spodoba ... ale służy celowi, którego szukasz i nie musisz wiedzieć, czy pracujesz z Guidem? lub Guid (miło na ponowne faktoring itp.).
/// <summary>
/// Determines if Guid is Guid.Empty
/// </summary>
public static bool IsNullOrEmpty(this Guid guid)
{
return (guid == Guid.Empty);
}
Teraz można użyć someGuid.IsNullOrEmpty();
we wszystkich przypadkach, czy używasz Guid GUID ?.
Tak jak powiedziałem, niektórzy ludzie będą narzekać na nazwę, ponieważ IsNullOrEmpty()
oznacza, że wartość może być zerowa (gdy nie może). Jeśli naprawdę chcesz, wymyślić inną nazwę dla rozszerzeń, takich jak IsNothing()
lub IsInsignificant()
lub cokolwiek :)
Aby rozpocząć http://stackoverflow.com/questions/2344213/is-guid-considered-a- wartość -type-lub-reference-type ale dla twoich potrzeb jest 'Guid.Empty' – V4Vendetta