OPC Studio User's Guide and Reference
DisposeGuard<TResult>(Func<TResult>,Boolean) Method



OpcLabs.BaseLib Assembly > OpcLabs.BaseLib Namespace > DisposableObject Class > DisposeGuard Method : DisposeGuard<TResult>(Func<TResult>,Boolean) Method
The type of the return value of the function.
The function to be invoked.

The value of this parameter cannot be null (Nothing in Visual Basic).

Whether to throw an exception when the object is disposed.
Invokes the specified function if the object is not disposed, optionally throwing an exception otherwise.
Syntax
'Declaration
 
<JetBrains.Annotations.AssertionMethodAttribute()>
<JetBrains.Annotations.CanBeNullAttribute()>
Protected Overloads Function DisposeGuard(Of TResult)( _
   ByVal function As Func(Of TResult), _
   ByVal throwOnDisposed As Boolean _
) As TResult
'Usage
 
Dim instance As DisposableObject
Dim function As Func(Of TResult)
Dim throwOnDisposed As Boolean
Dim value As TResult
 
value = instance.DisposeGuard(Of TResult)(function, throwOnDisposed)
[JetBrains.Annotations.AssertionMethod()]
[JetBrains.Annotations.CanBeNull()]
protected TResult DisposeGuard<TResult>( 
   Func<TResult> function,
   bool throwOnDisposed
)
[JetBrains.Annotations.AssertionMethod()]
[JetBrains.Annotations.CanBeNull()]
protected:
TResult^ DisposeGuardgeneric<typename TResult>
( 
   Func<TResult^>^ function,
   bool throwOnDisposed
) 

Parameters

function
The function to be invoked.

The value of this parameter cannot be null (Nothing in Visual Basic).

throwOnDisposed
Whether to throw an exception when the object is disposed.

Type Parameters

TResult
The type of the return value of the function.

Return Value

The return value of the function.

This method can return null (Nothing in Visual Basic).

Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

An operation was performed on a disposed object.
Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also