C # Как обнаружить объект уже заблокирован

Как я могу определить, заблокирован ли объект или нет?

Monitor.TryEnter (как описано вЕсть ли способ определить, заблокирован ли объект?) не работает для меня, потому что он блокирует объект, если он не заблокирован.

яonly хочу проверить, если он заблокирован и где-то еще в моем коде я буду использоватьMonitor класс для блокировки объекта.

Я знаю, что можно использовать, например, логическое поле (например,private bool ObjectIsLocked) но что бы его обнаружить используя сам объект блокировки.

Пример кода ниже показывает, что я хочу сделать:

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);
        }
    }
}

Ответы на вопрос(6)

Ваш ответ на вопрос