Get an object monitor lock.
Namespace:  Microsoft.TeamFoundation.Framework.Server
Assembly:  Microsoft.TeamFoundation.Framework.Server (in Microsoft.TeamFoundation.Framework.Server.dll)
Syntax
'Declaration
Public Function Lock ( _
    lockObject As Object, _
    lockType As LockManager.LockType, _
    requestId As Long _
) As LockManager.ObjectLockFrame
public LockManager.ObjectLockFrame Lock(
    Object lockObject,
    LockManager.LockType lockType,
    long requestId
)
public:
LockManager::ObjectLockFrame Lock(
    Object^ lockObject, 
    LockManager::LockType lockType, 
    long long requestId
)
member Lock : 
        lockObject:Object * 
        lockType:LockManager.LockType * 
        requestId:int64 -> LockManager.ObjectLockFrame
public function Lock(
    lockObject : Object, 
    lockType : LockManager.LockType, 
    requestId : long
) : LockManager.ObjectLockFrame
Parameters
- lockObject 
 Type: System.Object- The name of a lock to acquire. 
- lockType 
 Type: Microsoft.TeamFoundation.Framework.Server.LockManager.LockType- The lock type to obtain. 
- requestId
 Type: System.Int64
Return Value
Type: Microsoft.TeamFoundation.Framework.Server.LockManager.ObjectLockFrame
The disposable lock frame object to release the lock on dispose.
Remarks
Use pattern: ... any work before lock is taken using (LockManager.Lock(objectToLock, lockType)) { ... some work inside a lock } ... any work after lock is released. Please do not use outside this "using" pattern. Be very careful - this method returns a disposable struct (that is not a class but a value type). Use GetLock/ReleaseLock directly if you must take lock manager locks outside a "using" pattern.
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.