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 .