Phương pháp sau không biên dịch. Visual Studio cảnh báo "Không thể sử dụng tham số ngoài trong một phương thức ẩn danh". Phương pháp WithReaderLock(Proc action)
mất delegate void Proc()
.Làm cách nào để tránh sử dụng tham số ngoài trong khối phương thức ẩn danh?
public Boolean TryGetValue(TKey key, out TValue value)
{
Boolean got = false;
WithReaderLock(delegate
{
got = dictionary.TryGetValue(key, out value);
});
return got;
}
Cách tốt nhất để có được hành vi này là gì? (Vui lòng không cung cấp lời khuyên về từ điển chủ đề an toàn, câu hỏi này nhằm giải quyết vấn đề tham số ngoài).
Xin lỗi vì sự trục trặc trong phiên bản gốc; cố định –
Tôi thấy 'đại biểu void Action (T obj)' trong .NET 2.0, nhưng điều đó hoạt động _on_ một đối tượng. Tôi cần hoạt động _around_ một hành động. Do đó, 'đại biểu void Proc()'. Tôi có thể đặt tên cho nó là 'delegate void Action()' để nhất quán. –