Freigeben über


ControlCollection.SyncRoot-Eigenschaft

Ruft ein Objekt ab, mit dem der Zugriff auf die Steuerelementauflistung synchronisiert werden kann.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public ReadOnly Property SyncRoot As Object
'Usage
Dim instance As ControlCollection
Dim value As Object

value = instance.SyncRoot
public Object SyncRoot { get; }
public:
virtual property Object^ SyncRoot {
    Object^ get () sealed;
}
/** @property */
public final Object get_SyncRoot ()
public final function get SyncRoot () : Object

Eigenschaftenwert

Das Object, mit dem die Auflistung synchronisiert wird.

Beispiel

Im folgenden Codebeispiel wird eine Methode erstellt, die die ControlCollection-Auflistung des Button-Steuerelements myButton auflistet. Nach Erstellen des Enumerators wird anhand der IsSynchronized-Eigenschaft ermittelt, ob der Vorgang threadsicher ist. Ist dies nicht der Fall, wird mithilfe der SyncRoot-Eigenschaft ein Objekt abgerufen, um den Vorgang threadsicher zu machen. Nach Abschluss der Enumeration wird der Wert der IsReadOnly-Eigenschaft als Text-Eigenschaft eines Label-Steuerelements auf die enthaltende Seite geschrieben.

' Create a method that enuberates through a 
' button's ControlCollection in a thread-safe manner.  
Public Sub ListControlCollection(sender As Object, e As EventArgs)
   Dim myEnumerator As IEnumerator = myButton.Controls.GetEnumerator()

   ' Check the IsSynchronized property. If False,
   ' use the SyncRoot method to get an object that 
   ' allows the enumeration of all controls to be 
   ' thread safe.
   If myButton.Controls.IsSynchronized = False Then
     SyncLock myButton.Controls.SyncRoot
       While (myEnumerator.MoveNext())

       Dim myObject As Object  = myEnumerator.Current
           
         Dim childControl As LiteralControl = CType(myEnumerator.Current, LiteralControl)
         Response.Write("<b><br> This is the  text of the child Control  </b>: " & _
                        childControl.Text)
       End While
      msgReadOnly.Text = myButton.Controls.IsReadOnly.ToString()
      
      End SyncLock
   End If       
 End Sub

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ControlCollection-Klasse
ControlCollection-Member
System.Web.UI-Namespace
Control.Controls-Eigenschaft