ControlCollection.IsSynchronized プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ControlCollection オブジェクトが同期されているかどうかを示す値を取得します。
public:
property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean
プロパティ値
このプロパティは常に false
です。
実装
例
次のコード例では、myButton
コントロールのコレクションを列挙ControlCollectionするメソッドをButton作成します。 列挙子が作成されると、 IsSynchronized 操作がスレッド セーフかどうかを確認するためにプロパティがチェックされ、スレッド セーフでない場合は、 SyncRoot 操作のスレッド セーフを確保するためのオブジェクトを取得するためにプロパティが使用されます。 列挙が完了すると、プロパティのIsReadOnly値が、含まれているページ上のコントロールのLabelプロパティとしてText書き込まれます。
// Create a method that enuberates through a
// button//s ControlCollection in a thread-safe manner.
public void ListControlCollection(object sender, EventArgs e)
{
IEnumerator myEnumerator = 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)
{
lock (myButton.Controls.SyncRoot)
{
while (myEnumerator.MoveNext())
{
Object myObject = myEnumerator.Current;
LiteralControl childControl = (LiteralControl)myEnumerator.Current;
Response.Write("<b><br /> This is the text of the child Control </b>: " +
childControl.Text);
}
msgReadOnly.Text = myButton.Controls.IsReadOnly.ToString();
}
}
}
' 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