Cursors.SyncRoot 속성
업데이트: 2007년 11월
Cursors 컬렉션에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 반환합니다.
네임스페이스: Microsoft.Ink
어셈블리: Microsoft.Ink(Microsoft.Ink.dll)
구문
‘선언
Public ReadOnly Property SyncRoot As Object
‘사용 방법
Dim instance As Cursors
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
속성 값
형식: System.Object
Cursors 컬렉션에 대한 액세스를 동기화하는 데 사용할 수 있는 System.Object입니다.
구현
설명
Cursors 컬렉션은 System.Collections.ICollection 인터페이스를 구현합니다. SyncRoot 속성에 대한 자세한 내용은 System.Collections.ICollection.SyncRoot 속성을 참조하십시오.
예제
이 C# 예제에서는 매개 변수로 전달된 InkCollector 개체에서 발견한 모든 커서의 특성에 대한 보고서를 반환합니다. 컬렉션의 SyncRoot 속성을 사용하여 스레드로부터 안전한 반복을 구현하는 방법을 보여 줍니다.
using Microsoft.Ink;
//. . .
public string CursorReport(InkCollector theInkCollector)
{
string theReport = "The InkCollector has encountered the following cursors so far:" + Environment.NewLine;
// Get the Cursors collection from the InkCollector
Microsoft.Ink.Cursors theCursors = theInkCollector.Cursors;
// Prevent changes to the collection while we iterate over it.
lock( theCursors.SyncRoot )
{
theReport += "Count of cursors: " + theCursors.Count + Environment.NewLine + Environment.NewLine ;
foreach (Microsoft.Ink.Cursor cursor in theCursors)
{
theReport += "Cursor Name: " + cursor.Name + Environment.NewLine;
theReport += "Cursor ToString: " + cursor.ToString() + Environment.NewLine;
theReport += "Tablet Name: " + cursor.Tablet.Name + Environment.NewLine;
theReport += "Cursor Id: " + cursor.Id.ToString() + Environment.NewLine;
theReport += "Cursor is inverted: " + cursor.Inverted.ToString() + Environment.NewLine;
theReport += "Cursor Buttons:" + Environment.NewLine;
foreach (CursorButton button in cursor.Buttons)
{
CursorButtonState theState = button.State;
theReport += " Button Name: " + button.Name + Environment.NewLine;
theReport += " State: " + button.State.ToString() + Environment.NewLine;
theReport += " Id: " + button.Id.ToString() + Environment.NewLine + Environment.NewLine;
}
}
}
return theReport;
}
이 Microsoft® Visual Basic® .NET 예제에서는 매개 변수로 전달된 InkCollector 개체에서 발견한 모든 커서의 특성에 대한 보고서를 반환합니다. 컬렉션의 SyncRoot 속성을 사용하여 스레드로부터 안전한 반복을 구현하는 방법을 보여 줍니다.
Imports Microsoft.Ink
'. . .
Public Function CursorReport(ByVal theInkCollector As InkCollector) _
As String
Dim theReport As String = "The InkCollector has encountered " & _
"the following cursors so far:" & vbCrLf
' Get the Cursors collection from the InkCollector
Dim theCursors As Microsoft.Ink.Cursors = theInkCollector.Cursors
' Prevent changes to the collection while we iterate over it.
SyncLock theCursors.SyncRoot
theReport &= "Count of cursors: " & theCursors.Count & vbCrLf
Dim theCursor As Microsoft.Ink.Cursor
For Each theCursor In theCursors
theReport &= "Cursor Name: " & theCursor.Name & vbCrLf
theReport &= "Cursor ToString: " & theCursor.ToString() & _
vbCrLf
theReport &= "Tablet Name: " & theCursor.Tablet.Name & vbCrLf
theReport &= "Cursor Id: " & theCursor.Id.ToString() & vbCrLf
theReport &= "Cursor is inverted: " & _
theCursor.Inverted.ToString() & vbCrLf
theReport &= "Cursor Buttons:" & vbCrLf
Dim theButton As CursorButton
For Each theButton In theCursor.Buttons
Dim theState As CursorButtonState = theButton.State
theReport &= " Button Name: " & theButton.Name & vbCrLf
theReport &= " State: " & _
theButton.State.ToString() & vbCrLf
theReport &= " Id: " & theButton.Id.ToString() & _
vbCrLf & vbCrLf
Next
Next
End SyncLock
Return theReport
End Function
플랫폼
Windows Vista
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원