そのため、COM オブジェクトを介してエクスポートされるクラスをインスタンス化する C# コードがいくつかあります。その特定のインスタンス化呼び出しはブロッキング呼び出しです (外部ソースからのデータのダウンロードが必要です)。したがって、私のC#ブロッキングを作成します。
オブジェクトを非同期的にインスタンス化することは可能ですか?
そのため、COM オブジェクトを介してエクスポートされるクラスをインスタンス化する C# コードがいくつかあります。その特定のインスタンス化呼び出しはブロッキング呼び出しです (外部ソースからのデータのダウンロードが必要です)。したがって、私のC#ブロッキングを作成します。
オブジェクトを非同期的にインスタンス化することは可能ですか?
場合によります。
一般に、 を起動しTask
て、バックグラウンド スレッドでオブジェクトをインスタンス化できます。C# 5 では、これは次のように単純になります。
var yourObject = await Task.Run(() => new TheObject());
ただし、これは COM オブジェクトであるため、オブジェクト自体がスレッド アフィニティを持つ可能性が非常に高くなります。COM オブジェクトがシングル スレッド アパートメント スレッドを必要とする場合は、それに対して STA スレッドを保証する必要があります。スレッド アフィニティがある場合は、UI スレッドで実行する必要がある場合があります。