Aquí es un método simple extensión de un Guid nulo.
/// <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);
}
ACTUALIZACIÓN
Si realmente quería utilizar esto en todas partes se podría escribir otro método de extensión para un Guid regular. Nunca puede ser nulo, por lo que a algunas personas no les gustará esto ... pero cumple con el propósito que está buscando y no tiene que saber si está trabajando con Guid. o Guid (bueno para volver a factorizar, etc.).
/// <summary>
/// Determines if Guid is Guid.Empty
/// </summary>
public static bool IsNullOrEmpty(this Guid guid)
{
return (guid == Guid.Empty);
}
Ahora usted podría utilizar someGuid.IsNullOrEmpty();
en todos los casos, si se está utilizando o Guid Guid ?.
Como dije, algunas personas se quejarán de la nomenclatura porque IsNullOrEmpty()
implica que el valor podría ser nulo (cuando no puede). Si realmente quería, subir con un nombre diferente para las extensiones como IsNothing()
o IsInsignificant()
o lo que sea :)
Para empezar http://stackoverflow.com/questions/2344213/is-guid-considered-a-value -type-or-reference-type pero para sus necesidades existe 'Guid.Empty' – V4Vendetta