VS 拡張プロジェクトで、EnvDTE.Thread (Freeze および Thaw メソッドにアクセスするため) と System.Threading.Thread (ManagedThreadId プロパティにアクセスするため) の両方としてキャストするプロセス スレッドのマッピングを作成しようとしています。
理想的には次のようにする必要がありますが、System.Threading.Thread から EnvDTE.Thread にキャストできないと言って、キャストはコンパイルされません。
var threads = new Dictionary<EnvDTE.Thread, System.Threading.Thread>();
foreach (System.Threading.Thread thread in this.dte.Debugger.CurrentProgram.Threads) {
threads.Add((EnvDTE.Thread)thread, thread);
}
例外がスローされないことを知って、キャストを強制するにはどうすればよいですか (ここで何かが欠けている場合を除きます)。
編集: InvalidCastException をスローします。