Read (according to the modifiers) any matching object from the space, blocking until one exists. 
            Return null if the timeout expires.
            
| C# | Visual Basic | Visual C++ | J# | 
T Read<T>( IQuery<T> query, ITransaction tx, long timeout, ReadModifiers modifiers )
Function Read(Of T) ( _ query As IQuery(Of T), _ tx As ITransaction, _ timeout As Long, _ modifiers As ReadModifiers _ ) As T
generic<typename T> T Read( IQuery<T>^ query, ITransaction^ tx, long long timeout, ReadModifiers modifiers )
- T
 - Type of object to read.
 
- query (IQuery<(Of <(T>)>))
 - The query used for matching.
 
- tx (ITransaction)
 - The transaction (if any) under which to work.
 
- timeout (Int64)
 - How long the client is willing to wait for a transactionally proper matching object.
 
- modifiers (ReadModifiers)
 - The modifier(s) to define behaviour of locks.
 
A copy of the object read from the space (null if no match was found).
| 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. | 
| SqlQueryException | The query template is an illegal SqlQuery. | 
