Lazy<T>.IsValueCreated Lazy<T>.IsValueCreated Lazy<T>.IsValueCreated Lazy<T>.IsValueCreated Property

定義

この Lazy<T> インスタンスに対して値が作成されているかどうかを示す値を取得します。Gets a value that indicates whether a value has been created for this Lazy<T> instance.

public:
 property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean

プロパティ値

この Lazy<T> インスタンスに対して値が作成されている場合は true。それ以外の場合は falsetrue if a value has been created for this Lazy<T> instance; otherwise, false.

注釈

遅延初期化のタイミング、Lazy<T>インスタンス、その可能性が作成されている値または例外がスローされます。When lazy initialization occurs for a Lazy<T> instance, it may result in either a value being created or an exception being thrown. 例外がスローされると、以降の動作の場合、Lazy<T>インスタンスは、有効では例外キャッシュするかどうかによって異なります。If an exception is thrown, subsequent behavior of the Lazy<T> instance depends on whether exception caching is in effect. 場合、Lazy<T>インスタンスが、初期化関数を指定していないコンス トラクターを使用して作成し、例外キャッシュが有効になっています。If the Lazy<T> instance was created by using a constructor that does not specify an initialization function, then exception caching is not in effect. 初期化するために、後続の試行、Lazy<T>が成功したと初期化が成功した後、IsValueCreatedプロパティが返すtrueします。A subsequent attempt to initialize the Lazy<T> might succeed, and after successful initialization the IsValueCreated property returns true. 場合、Lazy<T>初期化関数を使用したインスタンスが作成された (で指定された、valueFactoryのパラメーター、Lazy<T>コンス トラクター)、例外キャッシュは、スレッドの安全性モードによって制御されます。If the Lazy<T> instance was created with an initialization function (specified by the valueFactory parameter of the Lazy<T> constructor), then exception caching is controlled by the thread safety mode.

  • モードの場合LazyThreadSafetyMode.ExecutionAndPublicationまたはLazyThreadSafetyMode.None、初期化するために 2 つ目の可能性はありません、Lazy<T>インスタンス。If the mode is LazyThreadSafetyMode.ExecutionAndPublication or LazyThreadSafetyMode.None, there is no second chance to initialize the Lazy<T> instance. 例外が発生し、初期化関数で処理されないが、その例外はキャッシュされの後続アクセスで再度スローされます、Lazy<T>.Valueプロパティ。If an exception occurs and is unhandled in the initialization function, that exception is cached and rethrown on subsequent accesses of the Lazy<T>.Value property. 例外がスローされた場合、それには、このような場合の値は作成されませんIsValueCreated返しますfalseします。No value is created if an exception is thrown, so in such cases IsValueCreated returns false.

  • モードの場合LazyThreadSafetyMode.PublicationOnlyを正常に初期化関数 (または既定のコンス トラクター) を実行する最初のスレッドの値を作成し、Lazy<T>インスタンス。If the mode is LazyThreadSafetyMode.PublicationOnly, the first thread that succeeds in running the initialization function (or the default constructor) creates the value for the Lazy<T> instance. 他のスレッドが初期化するために試すことができますが、初期化関数は、1 つのスレッドで例外をスローする場合、Lazy<T>インスタンス。If the initialization function throws an exception on one thread, other threads can still try to initialize the Lazy<T> instance. 値が作成されるまで、IsValueCreatedプロパティが返すfalseします。Until the value is created, the IsValueCreated property returns false.

適用対象

こちらもご覧ください