Riesci a bloccare un dizionario generico?
-
03-07-2019 - |
Domanda
O dovresti sempre creare qualche altro oggetto lock?
Soluzione
Sì, esegui il cast su un IDictionary e blocca .SyncRoot
:
Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>();
lock (((IDictionary)dic).SyncRoot)
{
// code
}
Grazie a questa source per le informazioni.
Ovviamente anche un dizionario thread-safe sarebbe carino, come altri hanno suggerito.
Altri suggerimenti
È possibile bloccare qualsiasi oggetto desiderato (tranne i tipi di valore). Si consiglia di bloccare l'oggetto .SyncRoot.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow