Aşağıdaki yöntem derlenmiyor. Visual Studio, "Bir out parametresi, anonim bir yöntemle kullanılmayabilir" uyarısında bulunur. WithReaderLock(Proc action)
yöntemi, bir delegate void Proc()
alır.Anonim bir yöntem bloğunda bir out parametresi kullanarak nasıl engellenir?
public Boolean TryGetValue(TKey key, out TValue value)
{
Boolean got = false;
WithReaderLock(delegate
{
got = dictionary.TryGetValue(key, out value);
});
return got;
}
Bu davranışı elde etmenin en iyi yolu nedir? (Lütfen threadafe sözlükleri hakkında tavsiyede bulunmaktan kaçının, bu sorunun genel olarak out parametresi problemini çözmesi amaçlanmıştır).
;-p takip etmek en kolay; –
düzeltildi Görmek için Action a1> (T obj) 'degegate geçersiz. NET, ancak bu _on_ bir nesne çalışır. İşlemlere _around_ bir eyleme ihtiyacım var. Bu nedenle, delege Proc() 'geçersiz. Buna tutarlı olabilmek için “Action” (geçersiz) delegesi diyebilirim. –