Ось простий метод розширення для зведеного 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);
}
ОНОВЛЕННЯ
Якщо ви дійсно хотіли використовувати це скрізь, ви можете написати інший метод розширення для звичайного Guid. Це ніколи не може бути недійсним, тому деяким людям це не сподобається ... але це відповідає тій меті, яку ви шукаєте, і вам не потрібно знати, чи працюєте ви з Guid? або Керівництво (приємно для повторного факторингу тощо).
/// <summary>
/// Determines if Guid is Guid.Empty
/// </summary>
public static bool IsNullOrEmpty(this Guid guid)
{
return (guid == Guid.Empty);
}
Тепер ви можете використовуватись someGuid.IsNullOrEmpty();
у всіх випадках, будь то Guid чи Guid ?.
Як я вже говорив, деякі люди будуть скаржитися на називання, оскільки IsNullOrEmpty()
випливає, що значення може бути нульовим (коли воно не може). Якщо ви дійсно хочете, придумати іншу назву для розширення , наприклад , IsNothing()
або , IsInsignificant()
або яким - то :)
Guid.Empty