Take any matching object from the space, returning null if there currently is none.
Equivalent to take, except that blocking is done only if necessary to wait for transactional state to settle.
![](../icons/collapse_all.gif)
C# | Visual Basic | Visual C++ | J# |
T TakeIfExists<T>( T template, ITransaction tx )
Function TakeIfExists(Of T) ( _ template As T, _ tx As ITransaction _ ) As T
generic<typename T> T TakeIfExists( T template, ITransaction^ tx )
![](../icons/collapse_all.gif)
- T
- Type of object to read.
![](../icons/collapse_all.gif)
- template (T)
- The template used for matching.
- tx (ITransaction)
- The transaction (if any) under which to work.
![](../icons/collapse_all.gif)
The object taken from the space (null if no match was found).
![](../icons/collapse_all.gif)
Exception | Condition |
---|---|
UnusableEntryException | A serialized field of the object being read cannot be deserialized. |
TransactionException | Transaction error occured. |
InactiveSpaceException | The space is in backup mode and therefore is not active. |
EntryVersionConflictException | Operation is rejected as a result of optimistic locking version conflict. |