Compartir a través de


SqlParameterCollection.IsSynchronized Propiedad

Definición

Obtiene un valor que indica si el objeto SqlParameterCollection está sincronizado.

public:
 virtual property bool IsSynchronized { bool get(); };
public override bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public Overrides ReadOnly Property IsSynchronized As Boolean

Valor de propiedad

Devuelve true si la SqlParameterCollection se sincroniza; en caso contrario, devuelve false.

Comentarios

Este miembro es una implementación explícita de un miembro de interfaz. Solo se puede utilizar cuando la instancia de SqlParameterCollection se convierte en una interfaz ICollection.

SyncRoot devuelve un objeto que puede utilizarse para sincronizar el acceso a ICollection. La mayoría de las clases de colección del System.Collections espacio de nombres también implementan un método Synchronized, que proporciona un contenedor sincronizado alrededor de la colección subyacente.

Enumerar una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción. Con el fin de garantizar la seguridad para la ejecución de subprocesos durante la enumeración, se puede bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.

En el ejemplo de código siguiente se muestra cómo bloquear la colección mediante la SyncRoot propiedad durante toda la enumeración.

ICollection^ myCollection = someCollection;
bool lockTaken = false;
try
{
    Monitor::Enter(myCollection->SyncRoot, lockTaken);
    for each (Object^ item in myCollection);
    {
        // Insert your code here.
    }
}
finally
{
    if (lockTaken)
    {
        Monitor::Exit(myCollection->SyncRoot);
    }
}
ICollection myCollection = someCollection;
lock(myCollection.SyncRoot)
{
    foreach (object item in myCollection)
    {
        // Insert your code here.
    }
}
Dim myCollection As ICollection = someCollection
SyncLock myCollection.SyncRoot
    For Each item In myCollection
        ' Insert your code here.
    Next item
End SyncLock

Se aplica a

Consulte también