SafeHandle.IsInvalid Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе получает значение, указывающее, является ли значение дескриптора недопустимым.
public:
abstract property bool IsInvalid { bool get(); };
public abstract bool IsInvalid { get; }
member this.IsInvalid : bool
Public MustOverride ReadOnly Property IsInvalid As Boolean
Значение свойства
true Значение дескриптора недопустимо; falseв противном случае .
Примеры
В следующем примере проверяется, был ли файл открыт успешно. Этот пример кода является частью более крупного примера, предоставленного для SafeHandle класса.
// Determine if file is opened successfully.
if (_handle.IsInvalid)
throw new Win32Exception(Marshal.GetLastWin32Error(), fileName);
Комментарии
Производные IsInvalid классы должны реализовать свойство, чтобы среда CLR может определить, требуется ли критическое завершение. Производные классы должны предоставлять реализацию, которая соответствует общему типу обработки, которую они поддерживают (0 или -1 является недопустимой). Затем эти классы можно получить для конкретных типов безопасных дескрипторов.
IsClosed В отличие от свойства, которое сообщает, завершен ли SafeHandle объект с помощью базового дескриптора, IsInvalid свойство вычисляет, всегда ли данное значение дескриптора считается недопустимым. IsInvalid Поэтому свойство всегда возвращает одинаковое значение для любого значения дескриптора.