public static void Exit_Invalid()
{
var obj = new object();
int valueType = 1;
Assert.Throws<ArgumentNullException>("obj", () => Monitor.Exit(null));
Assert.Throws<SynchronizationLockException>(() => Monitor.Exit(obj));
Assert.Throws<SynchronizationLockException>(() => Monitor.Exit(new object()));
Assert.Throws<SynchronizationLockException>(() => Monitor.Exit(valueType));
}