code_junkie

How to circumvent using an out parameter in an anonymous method block?

Nov 13th, 2011
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. public Boolean TryGetValue(TKey key, out TValue value)
  2. {
  3. Boolean got = false;
  4. WithReaderLock(delegate
  5. {
  6. got = dictionary.TryGetValue(key, out value);
  7. });
  8. return got;
  9. }
  10.  
  11. public bool TryGetValue(TKey key, out TValue value)
  12. {
  13. bool got = false;
  14. TValue tmp = default(TValue); // for definite assignment
  15. WithReaderLock(delegate
  16. {
  17. got = dictionary.TryGetValue(key, out tmp);
  18. });
  19. value = tmp;
  20. return got;
  21. }
  22.  
  23. public Boolean TryGetValue(TKey key, out TValue value)
  24. {
  25. internalLock.AcquireReaderLock(Timeout.Infine);
  26. try
  27. {
  28. return dictionary.TryGetValue(key, out value);
  29. }
  30. finally
  31. {
  32. internalLock.ReleaseReaderLock();
  33. }
  34. }
Add Comment
Please, Sign In to add comment