Здравствуйте, fddima, Вы писали:
Собственно на основе этого можно poor-man's lock logger прикрутить (естественно для текущей сборки).
Хотя я как бы и знал о возможности делать подобные извраты — никогда не делал.
1. Прийдется добавить в файл проекта ручками — студия зачем-то заботливо нас от этого огораживает:
<Reference Include="mscorlib">
<Aliases>global,mscorlib</Aliases>
</Reference>
2.
extern alias mscorlib;
using System;
namespace System.Threading
{
static class Monitor
{
public static void Enter(object obj, ref bool locked)
{
Console.WriteLine("Enter");
mscorlib::System.Threading.Monitor.Enter(obj, ref locked);
}
public static void Exit(object obj)
{
mscorlib::System.Threading.Monitor.Exit(obj);
Console.WriteLine("Exit");
}
}
}
namespace MonitorEnterTest
{
class Program
{
static void Main(string[] args)
{
var syncRoot = new object();
lock (syncRoot)
{
}
Console.WriteLine("Press any key!!!");
Console.ReadKey();
}
}
}
PS: VS2015U3
UPD: Ну вариант с "happy debug" предложенный практически изначально — я промолчу.