次の方法で共有


DTSReadOnlyCollectionBase.IsSynchronized Property

DTSReadOnlyCollectionBase へのアクセスが同期されるかどうか (スレッドセーフかどうか) を示す値を取得します。

名前空間: Microsoft.SqlServer.Dts.Runtime
アセンブリ: Microsoft.SqlServer.ManagedDTS (microsoft.sqlserver.manageddts.dll 内)

構文

'宣言
Public ReadOnly Property IsSynchronized As Boolean
public bool IsSynchronized { get; }
public:
virtual property bool IsSynchronized {
    bool get () sealed;
}
/** @property */
public final boolean get_IsSynchronized ()
public final function get IsSynchronized () : boolean

プロパティ値

DTSReadOnlyCollectionBase へのアクセスが同期される場合 (スレッドセーフの場合) は true、同期されない場合は false です。既定値は false です。

解説

ICollection.IsSynchronized を実装します。コレクションがスレッドセーフの場合には、IsSynchronized プロパティは true を返します。この場合、プログラマがコレクションをスレッドセーフにするために何かをする必要はありません。

このプロパティが false を返す場合は、SyncRoot プロパティによって、C# の lock キーワードで使用するオブジェクトが返されます。詳細については、「ICollection.IsSynchronized」を参照してください。

使用例

ArrayList は、IsSynchronized プロパティを継承して実装する .NET Framework クラスです。次のコード例では、ArrayList を同期し、ArrayList が同期されているかどうかを確認して、同期された ArrayList を使用する方法を示します。

using System;
using System.Collections;
public class SamplesArrayList  
{
   public static void Main()  
   {
      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add( "The" );
      myAL.Add( "quick" );
      myAL.Add( "brown" );
      myAL.Add( "fox" );

      // Creates a synchronized wrapper around the ArrayList.
      ArrayList mySyncdAL = ArrayList.Synchronized( myAL );

      // Displays the sychronization status of both ArrayLists.
      Console.WriteLine( "myAL is {0}.", myAL.IsSynchronized ? "synchronized" : "not synchronized" );
      Console.WriteLine( "mySyncdAL is {0}.", mySyncdAL.IsSynchronized ? "synchronized" : "not synchronized" );
   }
}
Imports System
Imports System.Collections
Public Class SamplesArrayList
   Public Shared  Sub Main()
      ' Creates and initializes a new ArrayList.
      Dim myAL As ArrayList =  New ArrayList() 
      myAL.Add("The")
      myAL.Add("quick")
      myAL.Add("brown")
      myAL.Add("fox")
 
      ' Creates a synchronized wrapper around the ArrayList.
      Dim mySyncdAL As ArrayList =  ArrayList.Synchronized(myAL) 
 
      ' Displays the sychronization status of both ArrayLists.
      Console.WriteLine("myAL is {0}.", myAL.IsSynchronized ? "synchronized" : "not synchronized")
      Console.WriteLine("mySyncdAL is {0}.", mySyncdAL.IsSynchronized ? "synchronized" : "not synchronized")
   End Sub
End Class

サンプルの出力 :

myAL is not synchronized.

mySyncdAL is synchronized.

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

DTSReadOnlyCollectionBase Class
DTSReadOnlyCollectionBase Members
Microsoft.SqlServer.Dts.Runtime Namespace