C # Cómo detectar un objeto ya está bloqueado

¿Cómo puedo detectar si un objeto está bloqueado o no?

Monitor.TryEnter (como se describe en¿Hay alguna forma de detectar si un objeto está bloqueado?) no funciona para mí porque bloquea el objeto si no está bloqueado.

I solamente Quiero verificar si está bloqueado y en algún otro lugar de mi código usaré elMonitor Clase para bloquear el objeto.

Sé que es posible usar, por ejemplo, un campo booleano (por ejemplo,private bool ObjectIsLocked) pero qué detectar con el objeto de bloqueo en sí.

El siguiente código de ejemplo muestra lo que quiero hacer:

private static object myLockObject = new object();

private void SampleMethod()
{
    if(myLockObject /*is not locked*/) // First check without locking it
    {
        ...
        // The object will be locked some later in the code
        if(!Monitor.TryEnter(myLockObject)) return;

        try
        {

            ....
        }
        catch(){...}
        finally
        {
            Monitor.Exit(myLockObject);
        }
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta