OPC Studio User's Guide and Reference
DisposeGuardNotNull<TResult>(Func<TResult>) Method



OpcLabs.BaseLib Assembly > OpcLabs.BaseLib Namespace > DisposableObject Class > DisposeGuardNotNull Method : DisposeGuardNotNull<TResult>(Func<TResult>) 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).

Invokes the specified function returning a not-null value if the object is not disposed, throwing an exception otherwise.
Syntax
'Declaration
 
<JetBrains.Annotations.AssertionMethodAttribute()>
<JetBrains.Annotations.NotNullAttribute()>
Protected Overloads Function DisposeGuardNotNull(Of TResult)( _
   ByVal function As Func(Of TResult) _
) As TResult
'Usage
 
Dim instance As DisposableObject
Dim function As Func(Of TResult)
Dim value As TResult
 
value = instance.DisposeGuardNotNull(Of TResult)(function)
[JetBrains.Annotations.AssertionMethod()]
[JetBrains.Annotations.NotNull()]
protected TResult DisposeGuardNotNull<TResult>( 
   Func<TResult> function
)
[JetBrains.Annotations.AssertionMethod()]
[JetBrains.Annotations.NotNull()]
protected:
TResult^ DisposeGuardNotNullgeneric<typename TResult>
( 
   Func<TResult^>^ function
) 

Parameters

function
The function to be invoked.

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

Type Parameters

TResult
The type of the return value of the function.

Return Value

The return value of the function.

This method never returns 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