Вот простой метод расширения для обнуляемого 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()
или что-то еще:)