Я заметил в System.Threading.TimerBase.Dipose()
метод имеет блок try{} finally{}
, но try{}
пуст.Зачем использовать try {} finally {} с пустым блоком try?
Есть ли смысл в использовании try{} finally{}
с пустым?
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
internal bool Dispose(WaitHandle notifyObject)
{
bool status = false;
bool bLockTaken = false;
RuntimeHelpers.PrepareConstrainedRegions();
try {
}
finally {
do {
if (Interlocked.CompareExchange(ref m_lock, 1, 0) == 0) {
bLockTaken = true;
try {
status = DeleteTimerNative(notifyObject.SafeWaitHandle);
}
finally {
m_lock = 0;
}
}
Thread.SpinWait(1);
// yield to processor
}
while (!bLockTaken);
GC.SuppressFinalize(this);
}
return status;
}
Что нужно получить? Разве вы не читали полезный комментарий? – ChaosPandion